1、用关键字abstract修饰类称为abstract类( 抽象类 )
abstract class A
{ …
}
•abstract类不能用new运算符创建对象,必须产生其子类,由子类创建对象。
•若abstract类的类体中有abstract方法,只允许声明,而不允许实现。
2、接口
Java 不支持多继承性,即一个类只能有一个父类。单继承性使得Java简单,易于管理程序。
(1)、接口的声明与使用
接口通过使用关键字interface来声明,格式:
interface 接口的名字{}
(2)、一个类通过使用关键字implements 声明自己实现一个或多个接口。如果实现多个接口,用逗号隔开接口名,如:
class A implements Printable,Addable{…}
(3)、接口特性
–接口不可以被 实例化
–实现类必须实现接口的所有方法
–实现类可以实现多个接口
–接口中的变量都是静态常量
(4)、 编码 实现
3、 多态 :同一个引用类型,使用不同的实例而执行不同操作
(1)使用多态实现思路
–编写父类
–编写子类,子类重写父类方法 –运行时,使用父类的类型,子类的对象
(2)实现多态的两种形式
–使用父类或接口作为方法形参实现多态
–使用父类或接口作为方法返回值实现多态
4、抽象类 与 接口
(1)abstract类和接口都可以有abstract方法。
(2)接口中只可以有常量,不能有变量;而abstract类中即可以有常量也可以有变量。
(3)abstract类中也可以有非abstract方法,接口全是abstract方法。
5、接口有比抽象类更好的特性
(1).可以被多继承
(2).设计和实现完全分离
(3).更自然的使用多态
(4).更容易搭建程序框架
(5).更容易更换实现