接口是为了抽象类而存在的。
接口可以继承多个父类接口。
接口内的属性都属于常量。
声明接口示例:
[]中括号内容可以不写,编译器会自动加上。
public [sbstract] interface 接口名{
public [sbstract] void 方法名();
}
具体示例:
public abstract interface 接口名[extends 父接口1,2,....] //中括号属于可有可无,看情情况决定。
{ public static final 常量类型 常量名; //实际开发中不需要写变量前面的修饰符,编译器会自动加上。
public abstract 返回类型 方法名(); //同上
}
语法示例:
修饰符 class 类名 extends 父类 implements 接口1,接口2 {
//如果继承了抽象类则要实现抽象类里的抽象方法,也要实现接口中的抽象方法。
}
接口的使用方法, 引用接口 实现接口的对象=new 实现接口的类();
实现接口的对象.类里面的方法;
实际代码示例:
package telhone;
public class cellPhone extends telihone { // 普通手机继承于telihone
@Override
public void call() { // 编译器自动生成相应方法
// TODO Auto-generated method stub
}
@Override
public void Message() { // 编译器自动生成相应方法
// TODO Auto-generated method stub
}
}
package telhone;
public class SmartPhone extends telihone { // 智能手机继承于telihone
@Override
public void call() { //编译器自动生成抽象父类的抽象方法
// TODO Auto-generated method stub
}
@Override
public void Message() { //编译器自动生成抽象父类的抽象方法
// TODO Auto-generated method stub
}
@Override
public void game() { //编译器自动生成接口类的抽象方法
// TODO Auto-generated method stub
System.out.println("智能手机有了玩游戏的功能"); //重写
}
}
package telhone;
public class telihone implements Ipalygame { // 继承接口Ipalygame
public void call() {
} // abstract修饰符
public void Message() {
} // abstract修饰符
@Override
public void game() {
// TODO Auto-generated method stub
System.out.println("手机有了玩游戏的功能");
}
}
package telhone;
public abstract interface Ipalygame { // 接口属于抽象类
public abstract void game(); // 抽象方法
}
package telhone;
public class run {
public static void main(String[] args) {
// TODO Auto-generated method stub
Ipalygame tel1 = new SmartPhone(); //引用接口创建 SmartPhone类 的对象tel1
tel1.game(); //tel1,调用SmartPhone()中的game方法。
Ipalygame tel2 = new Psp(); //引用接口Ipalygame创建 SmartPhone类 的对象tel2
tel2.game(); //tel1,调用Psp()中的game方法。
}
}
package telhone;
public class Psp implements Ipalygame {
@Override
public void game() {
// TODO Auto-generated method stub
System.out.println("PSP有了玩游戏的功能");
}
}