一. 继承:
* 继承可以实现代码重用
* 1.在继承关系中,子类拥有父类中的所有非私有的属性和方法,但是父类中不能拥有子类中特有的方法
* 2.在子类中拥有的某个方法和父类中某个方法的声明和参数列表相同,这时就形成了方法的重写
* 3.在子类对象调用父类方法时,如果子类中重写了该方法,那么就会调用子类中重写后的方法,否则调用父类的方法
* 4.在Java5中使用@Override这个Annotation(注解)来声明一个重写的方法
* 5.在子类中可用通过super关键字来调用父类中的属性或方法(非私有)
* 6.实现继承关系后,在创建子类对象时会自动调用子类的构造方法和父类的 默认无参数 构造方法,并且是先创建父类对象,再创建子类对象
* 7.当父类中不存在无参数的构造方法时,在构建子类对象时,必须告诉子类如何去创建父类对象(使用super()来调用父类的构造方法,并且必须是子类构造方法中的第一行程序)
* 8.当一个类没有声明父类时,该类的父类就是java.lang.Object类
* 9.Object类是Java体系中所有类的父类,又称为跟类
* 10.继承中具有两个特性 a.单根性 b.传递性
* 11.如果一个方法将一个父类作为参数,那就代表该方法中可以传入父类对象及其子类对象
*12. 父类指向子类对象 将只能调用父类中具有的方法,子类中特有的方法将不能被调用
二.抽象类:
* 1.当在父类中不知如何定义一个方法中的内容,但希望子类可用定义的时候,我们可以把该
* 方法声明为一个抽象方法
* 2.抽象方法使用abstract来修饰
* 3.如果一个类中包含一个或一个以上的抽象方法,则该类也必须使用abstract来修饰,那么该类就称为抽象类
* 4.当一个类继承自一个抽象的父类,则必须要实现父类中定义的所有抽象方法,除非子类也是抽象类
* 5.抽象类不能使用new关键字进行实例化,定义抽象类的主要作用就是为了被继承
三.接口:
* 1.在Java中使用interface关键字来声明一个接口
* 2.在接口中不准存在有方法体的方法
* 3.在接口中不准有变量
* 4.接口中的方法默认使用 public abstract 来修饰
* 5.接口同样不能使用new关键字来实例化
* 6.类通过implements来实现一个接口
* 7.当一个类实现一个接口时候,必须要实现这个接口中定义的所有方法,除非该类是一个抽象类
* 8.接口可以继承接口,并支持多继承,但接口不能继承类
* 9.在Java中一个类只能继承自一个父类,但可以实现多个接口
* 10.!!!! 当一个方法使用一个接口作为参数,那么就代表该方法中可以传入该接口的所有实现类对象
本文转自韩立伟 51CTO博客,原文链接:http://blog.51cto.com/hanchaohan/565252,如需转载请自行联系原作者