多态:
所谓多态,就是指一个引用(类型)在不同情况下的多种状态,也可以这样理解:多态是指通过指向父类的指针,来调用在不同子类中实现的方法。

多态注意事项:java允许父类的引用变量引用它的子类的实例(对象),这种转换时自动完成的

抽象类:
当父类的一些方法不能确定时,可以用abstract关键字来修饰该方法【抽象方法】,用abstract来修饰该类【抽象类】.

抽象类——深入讨论:

抽象类是java中一个比较重要的类:(1)用abstract关键字来修饰一个类时,这个类就叫抽象类。(2)用abstract关键字来修饰一个方法时,这个方法就是抽象方法。(3)抽象方法在编程中用的不是很多,但是在公司笔记时,却是考官比较爱问的知识点。

抽象类——注意事项:
(1)抽象类不能被实例化

(2)抽象类不一定要包含abstract方法,也就是说,抽象类可以没有abstract方法

(3)一旦类包含了abstract方法,则这个类必须声明为abstract

(4)抽象方法不能有主体,如abstract void a(){};这样是错误的。

抽象类中可以有实现了的方法的

接口:
接口就是给出一些没有内容的方法,封装到一起,到某个类要使用的时候,在根据具体情况把这些方法写出来。语法:

class 类名 implements 接口
{
方法;
变量;
 }

小结:接口是更加抽象的抽象的类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体,接口体现了程序设计的多态和高内聚低耦合的设计思想。

接口——注意事项:
(1)接口不能被实例化

(2)接口中所有的方法都不能有主体

(3)一个类可以实现多个接口

(4)接口中可以有变量,但是变量不能用private和protected修饰。

关于这一点还有两点需要说明:a、接口中变量,本质上都是static的,而且是final,不管你加不加static修饰。b、在java开发中,我们经常把经常用的变量、定义在接口中,作为全局变量使用,访问形式:接口名.变量名

(5)一个接口不能继承其它的类,但是可以继承别的接口