/**
* 接口:
* 1、接口是一种引用数据类型,接口是完全抽象的(抽象类是半抽象)
* 2、语法:
* [修饰符列表] interface 接口名{}
* 3、接口支持多继承,一个接口可以继承多个接口
* 4、接口中只包含"常量"和"抽象方法",接口中所有元素都是public都是修饰的。
* 定义抽象方法时:public abstract和public static final修饰符可以省略
*
* 接口实现:
* 1、实现使用implements关键字("实现"可看成"继承")
* 2、非抽象类实现接口的时候需要将接口的抽象方法都重写,否则报错
* 方法重写的时候需要加上"public"
* 3、继承和实现都在时:extends在前,implements在后
*/
public class Test {
public static void main(String[] args){
Math shixian = new Shixian();
System.out.println(shixian.sum(4,3));
System.out.println(((Ham)shixian).sub(5,4));
((Xiaoxue)shixian).xiaoxue();
}
}
interface Math{
double PI = 3.14; //public static final double PI = 3.14;
int sum(int i, int j); //public abstract int sum(int i,int j);
}
interface Ham{
int sub(int i,int j);
}
class Xiaoxue{
public void xiaoxue(){
}
}
class Shixian extends Xiaoxue implements Math,Ham{
public int sum(int i, int j){ //实现接口中的抽象方法时,需要添加public修饰符
return i+j;
}
public int sub(int i,int j){
return i+j;
}
public void xiaoxue(){
System.out.println("小学生加减法!");
}
}