8.8 下午 第13天下课 java8.8 下午 第13天下课 java

 

8.8 下午 第13天下课 java

 

8.8 下午 第13天下课 java

 

8.8 下午 第13天下课 java

 

  构造方法第一句总是:super(…)来调用父类对应的构造方法。所以,流程就是:先向上追溯到Object,然后再依次向下执行类的初始化块和构造方法,直到当前子类为止。

      注:静态初始化块调用顺序,与构造方法调用顺序一样,不再重复。

 

 

**
 *super关键字: 类似与this关键字(当前当前对象);super关键字代表父类对象
 *1.可以利用super关键字代表父类对象访问父类的属性和方法。
 * super.属性--->访问父类的属性
 * super.方法名()--->调用父类的方法
 *2.可以使用super关键字调用父类的构造函数,必须出现在构造函数的第一行。
 *3.super不能与static混用。
 */
class Father{
    int value;
    public Father() {
        System.out.println("Father无参构造方法被调用!");
    }
    public Father(int value) {
        System.out.println("Father有参构造方法被调用!");
        this.value=value;
    }
    public void setValue() {
        value=100;
        System.out.println("Father.value="+value);
    }
}

class Child extends Father{
    int value;
    public Child() {
        super();//利用super调用父类的构造方法,必须在第一行
        System.out.println("Child的无参构造方法被调用了!");
    }
    public Child(int value) {
//        super(value);//调用父类的有参构造方法
        System.out.println("Child的有参构造方法被调用!");
        this.value=value;
    }
    public void setValue() {
        super.setValue();//使用super调用父类的方法
        value=200;
        System.out.println("Child.value="+value);
        System.out.println("Father.value="+super.value);//使用super访问父类的属性
    }
}

public class TestSuper {
    public static void main(String[] args) {
        Child child = new Child();
//        Child child = new Child(300);
        child.setValue();
    }
}

 

 

8.8 下午 第13天下课 java

相关文章:

  • 2021-12-17
  • 2021-12-10
  • 2021-07-18
  • 2021-11-29
  • 2021-04-03
  • 2021-05-06
  • 2022-01-23
  • 2021-06-02
猜你喜欢
  • 2021-07-19
  • 2021-06-07
  • 2021-11-25
  • 2021-11-12
  • 2021-08-03
  • 2021-08-18
  • 2021-11-05
相关资源
相似解决方案