
定义:public interface 接口名{ }
接口继承:public interface 接口名 extends 父接口列表{ }
接口实现:修饰符 class 类名 implements 父接口列表{ }
规则:
1.接口可以实现多重继承,即一个接口或类可以有多个父接口(用逗号隔开)。一个普通类实现接口,就必须实现接口中所有的抽象方法。
2.接口访问控制符只能为public或省略。
3.使用implements实现接口,必须重写接口中的抽象方法
4.当两个接口的方法重名时若有实体方法,则需要重写重名的方法。
5.使用关键字interface声明接口{对所用子类的方法(行为)进行规范}。
6.方法的声明:接口中声明的方法默认使用public abstract 来修饰。
7.接口只能声明default访问类型的实体方法。
8.属性的声明:接口中的默认是public static final修饰。
抽象类和接口的区别:接口不能直接实例化对象,不能有构造方法,不能包含成员变量,可以实现多重继承。接口可对不同类型对象的行为进行抽象,抽象类是对特定类型对象的抽象。
实例:
public class Test1 {
public static void main(String[] args) {
If1 i1=new Changfangti(3,2,1);
System.out.println("长方体的表面积为:"+i1.area());
If2 i2=new Changfangti(3,2,1);
System.out.println("长方体的体积为:"+i2.volume());
}
}
interface If1{
//实体方法
double area();//默认使用public abstract 修饰
}
interface If2{
//实体方法
double volume();//默认使用public abstract 修饰
}
//必须实现接口中的所有方法。area(),volume()
class Changfangti implements If1,If2{
double l,s,h;
public Changfangti(double l,double s,double h) {
this.h=h;
this.l=l;
this.s=s;
}
@Override
public double volume() {//必须重写接口中的方法
// TODO Auto-generated method stub
return l*s*h;
}
@Override
public double area() {//必须重写接口中的方法
// TODO Auto-generated method stub
return 2*s*h+4*l*h;
}
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)