0
点赞
收藏
分享

微信扫一扫

java 继承

戴老师成长记录仪 2022-03-17 阅读 115

b站 韩顺平java视频 复习笔记

class SonClass extends FatherClass{

}

继承表达

子类会拥有父类所有的属性和方法,但是受到修饰符的影响,被保护的属性(方法)无法直接调用

无法通过对象名直接调用被限制修饰的属性或方法。

对于默认(补添加修饰符) 虽然子类无法调用。 但是在父子在同包中也可以直接调用。

对于封装保护的属性 可通过父类设置的get/set方法 修改。

 父类的构造器如果把无参给覆盖了(当父类只有有参构造器时)  子类一定要去重写这个构造器

如果父类 拥有无参和有参 子类不写构造器  默认调用父类无参构造器

调用父类构造器需要用到super(形参列表)

子类和父类可以有相同的属性和方法 ,调用时先看子类自己是否有,有就用自己的,没有就看他爹的。(把他爹的都继承了)。

假如 调用了他爹的方法  他爹的方法 是调用另一个方法。这时候 这个方法还是会从儿子开始查找,找不到才会用父亲的。



public class TTT {
    public static void main(String[] args) {
        SonC sonC = new SonC();
        System.out.println(sonC.name);
        System.out.println(sonC.age);
        sonC.f1();
    }
}

class FatherC{
    public String name = "爹";
    public int age = 60;

    public void f1(){
        System.out.println("dief1工作");
        f2();
    }

    public void f2(){
        System.out.println("爹的f2");
    }
}

class SonC extends FatherC{
    public String name = "儿";
    public void f2(){
        System.out.println("儿子的F2");
    }
}

 这里面用了 儿子的f2   虽然f1是爹的而且爹还有f1 还是先从儿子开始向上,

age没有重写用的是继承过来父类的。

 当子类通过this调用自己的有参构造器,不会执行super(super与this在一个构造器中只能有一个)。会在通过this调用的构造器中调用super(这里没有写出,调用父类无参)

 this和super后面加(参数列表) 在构造器中使用 调用子/父构造器  (二者不共存于一个构造器)

this.属性/方法从子类开始向上找

super.属性/方法跳过子类 从父类向上找。

使用时要注意访问修饰符带来的限制。

当遇到私有无法调用时会报错(子类修改不能降低修饰符限制,只能加大。下级都被限制上面限制肯定更高,没必要再找了。)

 

方法重写

 重写发生于父子之间   要求    名称 返回类型 参数都相同------------(返回对象时 可以是父类返回类型的子类)

 上面说道super向上查找

 

举报

相关推荐

Java 继承

【Java】继承

JAVA 继承

继承 Java

java继承

继承(Java)

Java继承

JAVA继承举例

0 条评论