1:接口要单独列成一个.java文件,不要和其实现及其使用放在一块,接口就是接口,没有其它.//原因是:一个文件中不能有多个public类的class....
2:这个例子很好:
其两个接口文件代码为
public interface DriveControl
{
void startEngine();
}
public interface Repairable
{
void repair();
}
接口实现及使用代码为:
public class Car implements DriveControl,Repairable
{
String model;
public Car(){
System.out.println("Car init");
}
public Car(String model){
this.model=model;
}
void printModel(){
System.out.println("The model of this car is "+this.model);
}
public void startEngine(){
System.out.println("Start engine");
}
public void repair(){
System.out.println("Car is repaired");
}
public static void main(String[] args){
Car car=new Car();
DriveControl control=(DriveControl)car;
control.startEngine();
Repairable repairable=(Repairable)car;
repairable.repair();
}
}
/*
接口的定义
public interface 接口名[extends父接口名列表]{
//常量域声明
public static final 域类型 域名=常量值;
//抽象方法声明
public abstract 返回值类型 方法名(参数列表);
}
implements是实现接口..后面紧跟接口的名字
接口:
1`接口不包含方法的任何实现
2`接口定义的方法和域都是具备public访问权限的
3`接口中的成员变量必须是静态或者拥有final控制符
4`接口中不包含构造方法的定义
接口的实现:
1`一个类可以同时实现多个接口.
2`对多个接口的实现是在implements后面跟用逗号隔开的接口名列表.
3`一个非抽象类实现接口的时候,类中必有包含所有接口中定义的方法实现.
注意,是全部的方法,如果不需要某个方法,也要将其定义成一个空方法体的方法.如
public 方法名(){};
抽象类则可以有选择地实现部分方法
4:对接口中方法进行实现,必有显式地使用public控制符,
否则视为对接口定义方法访问权限的削弱,这是错误的
5:对接口中方法进行实现,类中对应的实现方法的方法名,
方法返回值和方法的参数列表形式必须一致,否则视为一个新的方法的重载.
*/