JAVA之接口与抽象类详解

来源:互联网 发布:淘宝 饰品店 利润 编辑:程序博客网 时间:2024/04/28 19:14

接口

定义

JAVA 接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。

形式

[访问控制符 ]interface interfacename {
返回值类型 方法名([参数列表]);

}

特点

1.接口里面的属性都是常量;
2.接口里面的方法都是抽象方法;
3.接口不能实例化;
4.实现的子类必须实现接口的所有抽象方法。

抽象类

定义

抽象方法是一种特殊的方法:它只有声明,而没有具体的实现。抽象方法必须用abstract关键字进行修饰。如果一个类含有抽象方法,则称这个类为抽象类,抽象类必须在类前用abstract关键字修饰。因为抽象类中含有无具体实现的方法,所以不能用抽象类创建对象。

形式

[访问控制符] abstract class ClassName {
abstract void 方法名();
……..
}

特点

1.抽象类不能被实例化
2.抽象方法没有执行体 (没有{},直接加;)
3.抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类便无法实现该方法),缺省情况下默认为public。
4.如果一个类继承于一个抽象类,则子类必须实现父类的抽象方法。如果子类没有实现父类的抽象方法,则必须将子类也定义为为abstract类。在其他方面,抽象类和普通的类并没有区别。

接口与抽象类的区别

1.抽象类可以提供成员方法的实现细节,而接口中只能存在public abstract 方法;
2.抽象类中的成员变量可以是各种类型的,而接口中的成员变量只能是public static final类型的;
3.接口中不能含有静态代码块以及静态方法,而抽象类可以有静态代码块和静态方法;
4.一个类只能继承一个抽象类,而一个类却可以实现多个接口。

0 0
原创粉丝点击