继承:
1特点:

  • 继承一个类的成员变量和成员方法(注意private
  • 子类不能继承父类的私有成员
  • 子类不能继承父类的构造方法,但是可以通过super去访问
  • 只支持单继承
  • 可以多层(重)继承(继承体系)

2:子类与父类关系:
子类对象调用成员变量的规则:
1:先去子类局部位置查找成员变量,有就调用
2:子类局部位置没有,就去上一级成员变量中查找,有就调用
3:子类没有,就去父类查找成员变量,有就调用

子类对象调用构造方法的规则:
1)子类的构造方法默认会去访问父类的无参构造方法—父类数据的初始化
2)父类没有无参构造,子类通过super去明确调用父类带参构造
3)子类通过this调用本身的其他构造,但是一定会有一个去访问了父类的构造,让父类初始化



public class Test extends TestFather{
    public Test() {
        super();//访问父无参
        System.out.println("son无参");
    }
    public Test(int a ) {
        this();//调用Test()构造方法
        System.out.println("son有参");
    }

    public Test(String a ) {
        super(12);//调用TestFather(int a)构造方法
        System.out.println("son有参");
    }
        public static void main(String[] args) {
            Test test=new Test();

        }
}

class TestFather {
    // 构造方法
    public TestFather() {
        super();
        System.out.println("father无参");
    }
    public TestFather(int a) {
        super();
        System.out.println("father 有参");
    }


}
输出:
father无参
son无参

子类对象调用成员方法的规则

1:如果子类有对应成员方法,直接调用
2:子类中没有对应成员方法,去父类中找,有就使用

posted on 2017-04-02 14:43  2637282556  阅读(138)  评论(0编辑  收藏  举报