程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 構造方法-求大神詳解這兩種方法的執行過程!

構造方法-求大神詳解這兩種方法的執行過程!

編輯:編程解疑
求大神詳解這兩種方法的執行過程!

class Person {
private String name;
private int age;

public Person() {}

public Person(String name,int age) {
    this.name = name;
    this.age = age;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public int getAge() {
    return age;
}

public void setAge(int age) {
    this.age = age;
}

}

class Student extends Person {
public Student() {}

public Student(String name,int age) {
    super(name,age);
}

}

class ExtendsTest4 {
public static void main(String[] args) {
Student s1 = new Student();
s1.setName("二哈");
s1.setAge(10);
System.out.println(s1.getName()+"---"+s1.getAge());

    Student s2 = new Student("二哈",10);
    System.out.println(s2.getName()+"---"+s2.getAge());

}

}

最佳回答:


子類實例化過程即第一個方法,先調用父類的靜態方法(如果有的話),接著初始化成員變量如private String name = "zhangsan"(如果有的話),然後調用父類的構造方法,接下來調用子類的同父類步驟,先執行靜態代碼,再初始化成員變量,最後調用子類的構造方法即new Student();
第一個方法與第二個方法的差別只是,第一個方法調用的都是父類、子類的默認構造方法,而第二個調用帶參的構造方法,不懂得話可以在代碼裡把對應方法的日志打印出來這樣就懂了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved