java接口的定义问题

来源:百度知道 编辑:UC知道 时间:2024/05/10 08:34:17
前几天我在书上看到有一个接口中定义了一个abstract的方法,我感觉接口中的方法是不是没有必要用abstract修饰?还有,接口中是不是不可以定义字段,只能定义方法?

interface 里面的方法默认带有 public abstract 这两个修饰符 也必须带有这两个修饰符

public abstract void a();
public void a();
abstract void a();
void a();

在interface里以上4个定义完全相同

1 接口中可以定义变量
2 接口中的方法不需要加abs,因为接口的定位就是给其他类(包括抽象类)实现的。
假设一个结构里有N个函数,那么:
非抽象类里的抽象方法是全部实现的;
抽象类里的方法是部分实现的,或者全部实现,或者全部不实现;
接口里的方法则是全部没有实现的;也就是说,接口中的方法应该全部是抽象方法,既然全部是抽象方法,则全部要加上abs关键字,既然全部要加上abs关键字,那么就可以全部都省略掉,因为任何方法定义在接口里必然是抽象的,那么还需要加吗?

接口就是一种抽象类,是一种特殊的抽象类,既然是抽象类就得加abstract修饰,你把它就当作抽象类来看,第二个问题不说你自己都已经有答案了