1、<修饰符>interface<接口名>[extends <父接口名>]
其中,修饰符只能为public或者默认。
接口中定义常量(方法),全部隐含为final static类型的,故无需在修饰常量时加final和static修饰符。接口中所有方法是public修饰的。
2、实现接口
[<修饰符>]class<类名>[extends<父类名>][implements<接口名列表>] public class abc implements I1,I2{}
如果一个类实现一个接口,则必须在其类中实现接口中的方法,且这些方法必须被声明为public,如果不能实现某方法,则必须给出一个方法体为空的空方法,否则,该类就应该被声明为抽象类。
实例:
interface I1(){
int add(int a,int b);
}
interface I2(){
int sub(int a,int b )
}
public class test implements I1,I2{
public int add(int a,int b ){
return a+b;
}
public int sub(int a,int b){
return a-b
}
public int mul(int a,int b){
return a*b;
}
public static void main(String []args){
test p=new test();
System.out.println(p.add(1,2));
system.out.println(p.sub(1,2));
system.out.println(p.mul(1,2));
}
}
3、抽象类、接口异同
1)、抽象类可以有普通成员变量,接口中不能有普通成员变量。
2)、抽象类中可以有构造方法,接口中不能有构造方法。
3)、抽象类中可以包含非抽象的普通方法,接口中所有方法都是抽象的 ,不可能有非抽象的普通方法。
4)、接口默认为public abstract类型。
5)、抽象类中静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final型的,并且默认为public static final 类型。