【7.4】面向对象

1):子类和父类的关系,及内部联系:

  子类是对父类的扩展,在子类中对父类除了构造方法和静态方法和private 字段外的所有方法和字段

  调用构造方法时,子类的构造方法会首先调用父类的构造方法 子类的构造方法中都有super()和this(),都是用来调用构造方法

    this 是当前对象的引用

    super 父类的内存空间

2):开闭原则   (面向对象的最重要原则之一)

   一旦代码写完,不再进行修改,只允许继承扩展。(高内聚,低耦合)

    对扩展是开放,对修改是关闭的 

3):JAVA中只有单继承,但是可以有多重继承

4):向上转型和向下转型

    向上转型:从一个较专用的类型向通用的类型转换,是安全的,比如,子类转成父类   

Animal bog=new Dog();//是安全的,但是可能会发生方法的丢失

    向下转型:与向上转型相反的就是向下转型,它是不安全的,可能需要instanceof操作符协助

Dog animal= new Animal();//不能直接这样转换

    如果发生一下情况,在编译时可以通过,但是运行时不能通过

//Animal 是Dog和Cat类的父类
Animal animal = new Dog();
Cat cat = (Cat)animal;

    解决方法:

Animal animal = new Dog();
if(Cat instranof animal){     //做类型判断 如果animal是Cat类的一个实例返回true
        Cat cat = (Cat)Animal;
}        
原文地址:https://www.cnblogs.com/yuwenhui/p/7118323.html