/**
* 此案例学习接口的基础知识:
* 多态:1.继承 2.重写 3.父类引用指向子类对象
*
* 接口关键字---interface
* 实现接口的关键字---implements
* 接口是一个特殊的抽象类----静态常量、抽象方法
* 接口 的引用类型指向实现类的对象----多态
* 子类先去继承父类,再去实现接口
* 一个类可以实现多个接口,用","隔开
*/
public class Test4Interface {
public static void main(String[] args) {
//MyClass mc = new MyClass();
InterfaceA IA = new MyClass();//接口类型的引用指向实现类的对象--多态
Father f = new MyClass();
f.m3();
}
}
interface InterfaceA {
public static final int VALUE1 = 10;//
int VALUE2 = 20;// 默认是public static final修饰
public abstract void m1();// 接口中所有的方法都是抽象方法
}
interface InterfaceB {
void m2();
}
abstract class Father{
public abstract void m3();
}
class MyClass extends Father implements InterfaceA, InterfaceB {// 类实现接口---关键字implements
@Override
public void m1() {
System.out.println("m1");
}
@Override
public void m2() {
System.out.println("m2");
}
@Override
public void m3() {
System.out.println("m3");
}
}
实践案例
public abstract class Door {//父类--门
public abstract void open();//开门
public abstract void close();//关门
}
接口,,锁
public interface ILock {//接口---锁
void openLock();//开锁
void lockUp();//上锁
}
接口。。拍照功能
public interface Bell {
void photo();
}
防盗门
public class FangdaoDoor extends Door implements ILock,Bell{//防盗门---继承门,实现锁
@Override
public void open() {
System.out.println("用力推,门开了");
}
@Override
public void close() {
System.out.println("轻轻的拉上门,门关上了");
}
@Override
public void openLock() {
System.out.println("插进钥匙,向右转三圈,锁开了。。。");
}
@Override
public void lockUp() {
System.out.println("插进钥匙,向左转三圈,锁上了。。。");
}
@Override
public void photo() {
System.out.println("叮叮叮。。。咔嚓,拍照。。。");
}
}
测试类
public class Test {
public static void main(String[] args) {
FangdaoDoor fd = new FangdaoDoor();
fd.close();
fd.lockUp();
fd.openLock();
fd.photo();
}
}