抽象类
1.定义:Java语言中创建专门的类作为父类,这种类称为抽象类。
2.作用:根据抽象类的格式来创建和修改新的类。类似“模板”的作用。
3.语法格式:
abstract class 类名
{
声明成员变量;
返回值的数据类型 方法名(参数表);
{
.....
}
abstract 返回值的数据类型 方法名(参数表); //抽象方法
}
4.说明:
(1).抽象方法只需要声明,而不需要实现。
(2).抽象类是不能用new运算符来创建实例对象的类,它可以作为父类被它的所有子类所共享。
(3).抽象类的子类必须实现父类中的所有抽象方法,或者将自己也声明为抽象的。
(4).抽象类中不一定包含抽象方法,但包含抽象方法的类一定要声明为抽象类。
(5).抽象类可以有构造方法,且构造方法可以被子类的构造方法所调用,但构造方法不能声明为抽象类。
接口
1.定义:Java接口是一系列方法的声明,是一些方法特征的集合。一个接口只有方法的特征没有方法的实现,因此这些方法可以 在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
2.作用:主要作用是帮助实现类似于类的多重继承功能。
3.语法格式:
(1)定义的语法格式:
[public] interface 接口名称 [extends 父接口名列表]
{
[public][static][final] 数据类型 常量名=常量; //定义 常量
.....
[public][abstract] 返回值的数据类型 方法名(参数表); //定义抽象方法
[public] static 返回数据值的数据类型 方法名(参数表); //定义静态方法
{
方法体
}
..........
[public] default 返回值的数据类型 方法名(参数表) //定义默认方法
{
方法体
}
.....
}
(2).接口实现的语法格式:
class 类名称 implements 接口名表
{
.......
}
4.说明:
(1).接口中的抽象方法只需要声明,不用定义其处理数据的方法体。
(2).数据成员都是静态的且必须赋初值。
(3).接口中的成员都是公共的。
(4).接口与抽象类一样不能用new运算符直接创建对象。必须利用接口的特性来创建一个新的类,然后再用它来创建对象。
(5).如果实现某接口的类不是abstract的抽象类,则在类的定义部分必须实现指定接口的抽象的所有抽象方法。
(6).一个类在实现某接口的抽象方法时,必须使用完全相同的方法头,否则只是在定义一个新方法。
(7).接口中抽象方法的访问控制修饰符都已指定为public,所以类在实现方法时,必须显式地使用public修饰符。