Java中,构造方法,创建两个对象的时候,找不到符号了。。自学,求解。。
天蓬老师
天蓬老师 2017-04-18 10:54:30
0
6
467
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;
    }
}
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆(6)
刘奇

沒寫預設構造器啊

刘奇

回覆一下樓上,什麼時候java不寫訪問修飾符變成private了?難道我用的是假java?

洪涛

當你顯示 的寫了 構造器 。 是不會產生 預設構造器的。
新增 就可以了 Person(){

  
}

注意
當一個類別你重寫了構造器 一定要重寫 為空的 構造器。
因為有些框架 在反射創建物件的時候 會去找這個預設的建構器。

還有那 Test() 方法請修改為test().

洪涛

Person類別的帶參數的建構方法覆寫了預設的建構方法。
註:預設的建構方法是沒有參數的
所以如果這麼用:Person p1=new Person();
需要在Person類別中指定無參的建構子。或直接去掉帶參數的構造器。

Peter_Zhu

因為你在Person類別中定義了建構函數,所以預設的建構子Person()就不會被創建了,而是採用你自訂的建構子。
你也可以用函數重載,再寫一個建構子Person().

PHPzhong

補充:不要用拼音

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!