标签:耦合 代码 nim 丢失 调用 静态 操作符 运行 logs
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; }
标签:耦合 代码 nim 丢失 调用 静态 操作符 运行 logs
原文地址:http://www.cnblogs.com/yuwenhui/p/7118323.html