原标题:Java 接口interface的基础
定义接口的时候是由关键字interface来定义自己是一个接口,格式如下:
interface 接口名
接口体中包含常量的声明和抽象方法两部分
接口体中只有抽象方法,没有普通的方法,而且接口体中所有的常量的访问权限一定都是public,而且是static常量,所有的抽象方法的访问权限一定都是public;
eg:
interface A{
public static final int MAX=99;
public abstract void add();
public abstract float sum(int a,int b);
1
2
3
4
接口与类的区别:
接口不能用于实例化对象;
接口没有构造方法;
接口中所有的方法必须是抽象方法;
接口不能包含成员变量,除了 static 和 final 变量;
接口不是被类继承了,而是要被类实现;
接口支持多继承;
类实现接口
一个类需要在类声明中使用关键字implements声明该类实现一个或多个接口
例如:
class A implements One,Two
1
还有另外一种方式
Animal的Dog子类实现One接口
class Dog extends Animal implements One
1
重写接口的方法
如果一个非抽象类实现了某个接口,那么这个类必须要重写这个接口中的所有方法;
//定义接口IFly
public interface IFly{
//创建方法fly()
public void fly();
}
//创建类Plane并实现接口IFly
public class Plane implements IFly {
//重写fly方法
@Override
public void fly() {
// TODO Auto-generated method stub
System.out.println("飞机在天上飞!");
}
}
public class Test {
public static void main(String[] args) {
//对象实例化
IFly t2 = new Plane();
//分别调用fly()方法
t2.fly();
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
定义接口的时候,如果关键字interface前面加上public关键字,那么就称这个接口是一个public接口,public接口可以被任何一个类实现。如果不加public修饰,就称这个接口是一个友好接口,友好接口可以被与该接口在同一个包中的类实现;
在实现接口的时候,要注意一些规则:
一个类可以同时实现多个接口。
一个类只能继承一个类,但是能实现多个接口。
一个接口能继承另一个接口,这和类之间的继承比较相似。
例如:接口间的继承
public interface ISon extends IFather{
void run();
}
1
2
3
4
在Java中,类的多继承是不合法,但接口允许多继承。
责任编辑: