1.类是类,接口是接口,他们是同一层次的概念。
2.接口没有构造器。
3.在jdk1.8之前,接口只有两部分内容:
(1)常量:固定修饰符public static final
(2)抽象方法:固定修饰符public abstract
注意:修饰符可以不写,IDEA会帮你自动补全。
4.类和接口的关系是实现关系,类实现接口。
6.一旦实现一个接口,那么实现类要重写接口中全部的抽象方法。
7.如果没有全部重写抽象方法,那么这个类可以变成一个抽象类。
8.Java只有单继承,Java还有多实现
一个类继承其他类,只能继承一个父类,但是实现接口的话,可以实现多个接口。
9.写法:先继承,再实现。
10.接口不能创建对象。
接口的作用:定义规则,只是跟抽象类不同地方,他是接口不是类,接口定义好规则后,实现类负责实现即可。
例:防盗门实现开锁上锁,门铃,拍照的功能
写一个门的类
package interfacedemo;
public abstract class Door {
//开门
public abstract void openDoor();
//关门
public abstract void closeDoor();
}
写一个门铃的接口
package interfacedemo;
public interface DoorBell {
//拍照存储
public abstract void photo();
}
写一个锁的接口
package interfacedemo;
public interface Lock {
//开锁
public abstract void openLock();
//上锁
public abstract void closeLock();
}
写一个防盗门继承门并且实现门锁和门铃的代码
package interfacedemo;
public class LockDoor extends Door implements Lock,DoorBell{
@Override
public void openDoor() {
System.out.println("我开门了");
}
@Override
public void closeDoor() {
System.out.println("我关门了");
}
@Override
public void openLock() {
System.out.println("开锁");
}
@Override
public void closeLock() {
System.out.println("上锁");
}
@Override
public void photo() {
System.out.println("咔嚓咔嚓,你被照上了,图片以被保存");
}
}
最后在写一个测试类
package interfacedemo;
public class TestLockDoor {
public static void main(String[] args) {
LockDoor lockDoor = new LockDoor();
lockDoor.openLock();
lockDoor.openDoor();
lockDoor.closeDoor();
lockDoor.closeLock();
lockDoor.photo();
}
}
这样一来门即有防盗的功能,也有门铃和拍照的功能。
本文通过实例展示了Java中类与接口的关系,解释了接口的使用和重要性。具体是一个防盗门类同时实现了门、门铃和锁的接口,实现了开锁、上锁、拍照和门铃功能,体现了Java的多实现特性。通过这种方式,门类具备了多种功能,符合面向接口编程的原则。
1057

被折叠的 条评论
为什么被折叠?



