Java中,構(gòu)造方法,創(chuàng)建兩個(gè)對象的時(shí)候,找不到符號了。。自學(xué),求解。。
問題描述
public class Lan{ public static void main(String []agrs){/*Person p1=new Person();p1.age=8;p1.Test();System.out.println('第一個(gè)為'+p1.age);創(chuàng)建這一個(gè)的時(shí)候就不行,提示找不到符號,在“Person p1=new Person()”的new這里提示的,去掉可就沒問題。。*/Person p2=new Person(7,'小五');p2.Test();p2.jisuan();System.out.println('第二個(gè)為'+p2.age); }}class Person{ int age; String name; public void jisuan() {int i=2;System.out.println(i); } public void Test(){System.out.println('做測試1'); } Person(int age,String name){this.age=age;this.name=name; }}
問題解答
回答1:沒寫默認(rèn)構(gòu)造器啊
回答2:回復(fù)一下樓上,什么時(shí)候java不寫訪問修飾符變成private了?難道我用的是假java?
回答3:當(dāng)你顯示 的寫了 構(gòu)造器 。 是不會(huì)生成 默認(rèn)構(gòu)造器的。添加 就可以了 Person(){
}
注意 當(dāng)一個(gè)類你重寫了構(gòu)造器 一定要重寫 為空的 構(gòu)造器。 因?yàn)橛行┛蚣?在反射創(chuàng)建對象的時(shí)候 會(huì)去找這個(gè)默認(rèn)的構(gòu)造器。
還有那 Test() 方法請修改為test().
回答4:Person類的帶參數(shù)的構(gòu)造方法覆蓋了默認(rèn)的構(gòu)造方法。注:默認(rèn)的構(gòu)造方法是沒有參數(shù)的所以如果這么用:Person p1=new Person();需要在Person類指定無參的構(gòu)造器。或者直接去掉帶參數(shù)的構(gòu)造器。
回答5:因?yàn)槟阍赑erson類中定義了構(gòu)造函數(shù),所以默認(rèn)的構(gòu)造函數(shù)Person()就不會(huì)創(chuàng)建了,而是采用你自定義的構(gòu)造函數(shù)。你也可以用函數(shù)重載,再寫一個(gè)構(gòu)造函數(shù)Person().
回答6:補(bǔ)充:不要用拼音
相關(guān)文章:
1. 我何時(shí)應(yīng)該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)2. 如圖,java中同樣是utf-8存儲(chǔ)的字符串,為什么這兩種方式輸出的字節(jié)會(huì)不同?3. 在Java中,我們使用Apache Mina, http://mina.apache.org/ 其性能可與C實(shí)現(xiàn)媲美。4. 在Java中,相同代碼塊的運(yùn)行時(shí)間不同。這是為什么?5. java中成員變量productDao并沒有初始化,為什么可以調(diào)用方法?6. 如何在Java中替換字符串中的點(diǎn)(。)7. java中有返回值的函數(shù)中throw new exception會(huì)給函數(shù)返回值嗎?返回值是什么?8. objective-c如何實(shí)現(xiàn)java中的反射機(jī)制9. 如何在Java中聆聽按鍵時(shí)移動(dòng)圖像10. 怎樣在java中查詢mysql得到如下的json格式的結(jié)果?
