接口,什么时候用?当一个类中只有自定义常量和抽象方法时;
接口的案例
第一题
编写步骤:
- 定义接口A,普通类B实现接口A
- A接口中,定义抽象方法showA。
- A接口中,定义默认方法showB。
- B类中,重写showA方法
- 测试类中,创建B类对象,调用showA方法,showB方法
package com.atguigu.test01;
public class Test01 {
public static void main(String[] args) {
B b = new B();
b.showA();
b.showB();
}
}
interface A{
void showA();
default void showB(){
System.out.println("BBB");
}
}
class B implements A{
@Override
public void showA() {
System.out.println("AAA");
}
}
第二题
- 编写步骤
-
定义接口Universe,提供抽象方法doAnything。
-
定义普通类Star,提供成员发光shine方法,打印“star:星星一闪一闪亮晶晶"
-
定义普通类Sun,
继承Star类,重写shine方法,打印"sun:光照八分钟,到达地球"
实现Universe接口,实现doAnything,打印"sun:太阳吸引着9大行星旋转"
-
测试类中,创建Star对象,调用shine方法
-
测试类中,多态的方式创建Sun对象,调用doAnything方法,向下转型,调用shine方法。
package com.atguigu.test02;
public class Test02 {
public static void main(String[] args) {
Star s = new Star();
s.shine();
System.out.println("======================");
Universe u = new Sun();
u.doAnything();
Sun sun = (Sun)