Java中,構造方法,創建兩個對象的時候,找不到符號了。。自學,求解。。
問題描述
public class Lan{ public static void main(String []agrs){/*Person p1=new Person();p1.age=8;p1.Test();System.out.println('第一個為'+p1.age);創建這一個的時候就不行,提示找不到符號,在“Person p1=new Person()”的new這里提示的,去掉可就沒問題。。*/Person p2=new Person(7,'小五');p2.Test();p2.jisuan();System.out.println('第二個為'+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:沒寫默認構造器啊
回答2:回復一下樓上,什么時候java不寫訪問修飾符變成private了?難道我用的是假java?
回答3:當你顯示 的寫了 構造器 。 是不會生成 默認構造器的。添加 就可以了 Person(){
}
注意 當一個類你重寫了構造器 一定要重寫 為空的 構造器。 因為有些框架 在反射創建對象的時候 會去找這個默認的構造器。
還有那 Test() 方法請修改為test().
回答4:Person類的帶參數的構造方法覆蓋了默認的構造方法。注:默認的構造方法是沒有參數的所以如果這么用:Person p1=new Person();需要在Person類指定無參的構造器。或者直接去掉帶參數的構造器。
回答5:因為你在Person類中定義了構造函數,所以默認的構造函數Person()就不會創建了,而是采用你自定義的構造函數。你也可以用函數重載,再寫一個構造函數Person().
回答6:補充:不要用拼音
相關文章:
1. java中有返回值的函數中throw new exception會給函數返回值嗎?返回值是什么?2. 我何時應該在Java中使用JFrame.add(component)和JFrame.getContentPane()。add(component)3. 在Java中,我們使用Apache Mina, http://mina.apache.org/ 其性能可與C實現媲美。4. android - 在rxjava中map內進行錯誤處理應該怎么寫?5. 為什么在java中,賦值和數據類型一樣的變量i3,i4,System.out.println(i3==i4),最終輸出不相等?6. JAVA中間Object.wait()或者Condition.await()這樣的條件狀態滿足條件之后重新獲取鎖的順序問題?7. Java中List的contains方法為什么不能實現二維數組中的去重?8. java中這個頁面默認是utf-8編碼的,1輸出亂碼可以理解,可是2就不理解了?9. JAVA中獲取文件輸入流跟內存占用的關系10. java中可以通過類的class屬性得到該類的字節碼文件對象?
