面向对象--继承--使用继承的注意事项

使用继承的注意事项

  • 子类只能继承父类的所有非私有的成员(成员变量和成员方法)

体现了继承的另一个弊端:打破了封装性

  • 子类可以继承父类的构造方法吗?

初始化子类,就必须先初始化父类

子类不能继承父类的构造方法,但是可以通过super(后面讲)关键字去访问父类构造方法。

  • 不要为了部分的功能特地的去使用继承

例如:

                class A{
                    show1();
                    show2();
                }

                class B{
                    fun1();
                    fun2();
                    fun3();
                    show1();
                }

  • 那什么情况下使用继承呢?

可以满足什么是什么("is a")这个关系的时候,就可以用继承了。

例如:苹果是水果

                    水果:
                        苹果,橘子,西瓜,草莓

                    液态:
                        水,可乐,芒果汁


程序示例

class Father3{
    String name;
    private int age;

    public void eat(){
        System.out.println("吃饭");
    }

    private void fly(){
        System.out.println("飞翔");
    }
}

class Son3 extends Father3{

}


public class ExtendsDemo4 {
    public static void main(String[] args) {
        //创建儿子对象
        Son3 s = new Son3();
        s.name = "小明";
      
//        父类私有的成员变量不能被继承
//        s.age = 18;
//        System.out.println(s.name+"---"+s.age);

        s.eat();
      
//        父类私有的成员方法不能被继承
//        s.fly();

    }
}
posted @ 2021-12-07 16:15  赤兔胭脂小吕布  阅读(39)  评论(0)    收藏  举报