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

デフォルトのコンストラクターを書いていません

いいねを押す +0
刘奇

上記の質問に答えると、Java がアクセス修飾子を記述せずにプライベートになったのはいつですか?偽の Java を使用しているのでしょうか?

いいねを押す +0
洪涛

書かれたコンストラクターを表示するとき。 デフォルトのコンストラクターは生成されません。
「人()」を追加するだけです{

リーリー

注意
クラスのコンストラクターをオーバーライドするときは、空のコンストラクターをオーバーライドする必要があります。
一部のフレームワークは、リフレクションを通じてオブジェクトを作成するときにこのデフォルトのコンストラクターを探すためです。

また、Test()メソッドをtest()に変更してください。

いいねを押す +0
洪涛

Person クラスのパラメーター化されたコンストラクターは、デフォルトのコンストラクターをオーバーライドします。
注: デフォルトのコンストラクターにはパラメーターがありません
したがって、次のように使用すると: Person p1=new Person();
パラメーターのないコンストラクターを Person クラスで指定する必要があります。または、パラメーターを含むコンストラクターを単に削除します。

いいねを押す +0
Peter_Zhu

コンストラクターを Person クラスで定義したため、デフォルトのコンストラクター Person() は作成されませんが、カスタム コンストラクターが使用されます。
関数のオーバーロードを使用して、コンストラクター Person() を作成することもできます。

いいねを押す +0
PHPzhong

追記: ピンインは使用しないでください

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!