您的位置:首页 > 编程语言 > Java开发

Java抽象类和接口的区别

2015-09-30 11:03 351 查看
抽象类

如果一个类含有抽象方法,则称这个类为抽象类。不能用抽象类创建对象。

抽象类就是为了继承而存在的。

抽象类和普通类一样,可以拥有成员变量和普通的成员方法。

抽象类和普通类的区别:

1.抽象方法必须为public或者protected(因为如果为private,则不能被子类继承,子类无法实现该方法),缺省情况下默认为public。

2.抽象类不能用来创建对象。

3.如果一个类继承一个抽象类,则必须实现父类的抽象方法,否则必须将子类也定义成抽象类。

接口

接口中可以含有变量和方法。

变量只能是public static final变量。

方法只能是public abstract方法。接口中的方法必须都是抽象方法。

如果一个非抽象类实现了接口,就必须实现该接口中的所有方法。

抽象类和接口的区别

1.抽象类可以提供成员方法的实现细节,接口中只能存在public abstract方法。

2.抽象类的成员变量可以是各种类型的,接口中的成员变量只能是public static final类型的。

3.抽象类可以有静态代码块和静态方法,接口不能含有静态代码块和静态方法。

4.一个类只能继承一个抽象类,一个类可以实现多个接口。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: