一.        继承:

* 继承可以实现代码重用

* 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.!!!! 当一个方法使用一个接口作为参数,那么就代表该方法中可以传入该接口的所有实现类对象