【笔试】接口和抽象类的部分区别

来源:互联网 发布:caffe dropout层 编辑:程序博客网 时间:2024/05/22 08:42

问题:

在interface中使用private修饰符时,会出现报错信息:only public & abstract are permitted(只有public和abstract被允许),我就想interface和abstract有什么关系?

查找资料:

资料一:点击打开链接

资料二:点击打开链接

结论:

1.接口和抽象类的作用我们都知道;

2.接口中所有的方法都必须是abstract的,不能有一般的方法(方法体),但是抽象类中可以;

3.接口中的方法必须是abstract的,也正是由于必须是abstract的,所以可以省略abstract这个修饰符;

4.接口与一般类一样,本身也具有数据成员与方法,但数据成员一定要赋初值,且此值将不能再更改;

附加结论:

附加结论1:

有接口:

public interface Interface01 {public void fun01();}

有一个实现类(eclipse会报错):

public class MainTest01 implements Interface01{public static void main(String[] args){}}


结论:

实现类实现接口,必须要实现接口中的所有方法。


附加结论2:

有接口:

public interface Interface01 {public void fun01();}

有一个抽象类,实现了该接口(并不会报错,与上面作比较):

public abstract class MainTest02 implements Interface01{}

有一个实现类,继承了该抽象类(会报错):

public class MainTest01 extends MainTest02{public static void main(String[] args){}}

结论:

1.抽象类实现接口,并不需要实现接口中的方法(因为都是抽象的)

2.实现类继承某一个实现了接口的抽象类,抽象类中不需要实现方法,但是实现类中要实现方法。

原创粉丝点击