1.接口是一种约定 是一种能力
2.接口中全部是 public abstract void 方法名()
3.public static int 变量名
4.没有构造方法
///////////////////////////////////
代码:
///////////////////////////////////
AntiRheftDoor.java
package com.jiekou.men;
public class AntiTheftDoor extends Door implements OnLock{
@Override
public void Close() {
System.out.println("门关了");
}
@Override
public void Open() {
System.out.println("门开了");
}
@Override
public void lock() {
System.out.println("锁关了");
}
@Override
public void unlock() {
System.out.println("锁开了");
}
}
Door.java
package com.jiekou.men;
public abstract class Door {
public abstract void Close();
public abstract void Open();
/*
* 抽象类中可以实现构造方法
* */
public Door(){
}
/*
* 抽象类也可以有具体的实现方法
* 只不过抽象类无法被实例化
* */
public void test(){
System.out.println("测试");
}
}
3.OnLock.java
package com.jiekou.men;
public interface OnLock {
public abstract void lock();
public abstract void unlock();
}
4.Test.java
package com.jiekou.men;
public class Test {
public static void main(String args[]){
AntiTheftDoor Atdoor = new AntiTheftDoor();
Atdoor.Open();
Atdoor.Close();
Atdoor.lock();
Atdoor.unlock();
}
}
/*
运行结果:
门开了
门关了
锁关了
锁开了
问题思考:
只能单继承
如果要同时让防盗门实现门和锁的功能需要使用接口
或者把抽象类的 Door 换成接口
*/