人生像攀登一座山,而找寻出路,却是一种学习的过程,我们应当在这过程中,学习稳定、冷静,学习如何从慌乱中找到生机。——席慕蓉
如果一个类中所有的方法均为abstract方法,那么这个类就可以声明为接口
public abstract class MyClass {
public abstract void show();
public abstract String fun();
public abstract int [] method();
}
可以改为如下代码
public interface MyInterface {
void show();
String fun();
int [] method();
}
接口的定义
使用interface修饰,是一种数据类型,引用数据类型
接口的定义:
public interface MyInterface {
void show();
}
接口中可以包含什么?
(1)抽象方法
public abstract方法
(2)非抽象方法
/**JDK1.8新特性 ,必须使用default关键字*/
public default void method2(){
}
(3)属性(public static final)常量,public static final可以省略不写
public interface MyInterface {
String name="张三";
public static final String name2="张三";
}
接口中可不可以包含构造方法吗?不允许,因为接口不是类
接口与类的关系?
(1)类去实现接口中的抽象方法,实现关系 ,implements
public class InterfaceImpl implements MyInterface{
//实现接口中的所有抽象方法
}
(2)一个类存在继承关系,又存在实现关系?extends前?implements前?
继承 父子关系 亲爹
实现 实现关系-干爹
extends 在前,implements在后
public class Stuent extends Person implements Play{
}
(3)如果父类与接口中有完全相同的方法(一模一样),子类/实现类所实现的方法是父类的?接口的?
父类优先于接口,子类实现的是父类中的方法
(4)如果父类中与接口中有同名方法,对子类/实现类有什么要求呢?
父类与接口中的方法,在子类/实现类中构成方法的重载
既然开始了,就不要停下学习的脚步,如果想系统学习java,可以下载全套课程
附上链接:http://qr09.cn/CNk0lI