抽象类与接口

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了抽象类与接口相关的知识,希望对你有一定的参考价值。

1 问题

抽象类是用来捕捉子类的通用特性的 。它不能被实例化,只能被用作子类的超类。抽象类是被用来创建继承层级里子类的模板。

接口是抽象方法的集合。如果一个类实现了某个接口,那么它就继承了这个接口的抽象方法。这就像契约模式,如果实现了这个接口,那么就必须确保使用这些方法。接口只是一种形式,接口自身不能做任何事情。

2 方法

abstract class A//定义一个抽象类

public void fun()//普通方法
System.out.println("存在方法体的方法");


public abstract void print();//抽象方法,没有方法体,有abstract关键字做修饰

3 结语

抽象方法,是指没有方法体的方法,同时抽象方法还必须使用关键字abstract做修饰。

而拥有抽象方法的类就是抽象类,抽象类要使用abstract关键字声明。

抽象类的使用原则如下:

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

(2)抽象类不能直接实例化,需要依靠子类采用向上转型的方式处理;

(3)抽象类必须有子类,使用extends继承,一个子类只能继承一个抽象类;

(4)子类(如果不是抽象类)则必须覆写抽象类之中的全部抽象方法(如果子类没有实现父类的抽象方法,则必须将子类也定义为abstract类。)

以上是关于抽象类与接口的主要内容,如果未能解决你的问题,请参考以下文章

抽象类与接口的区别

抽象类与接口

java抽象类与接口 中 相同方法的调用

Java抽象类与接口的区别

随笔30 抽象类与接口

抽象类与接口的区别