语法:
class 类名 implements 接口 {
}
定义实现类,实现接口,类创建对象,对象调用方法
特点:如果这个实现类不想成为一个抽象类,那么必须实现接口中所有的方法(公开抽象方法)
package com.HomeWork;publicclassTest{publicstaticvoidmain(String[] args){//创建Audi车对象a,调用跑方法
Audi a =newAudi();
a.run();//创建SmartAudi车对象sa,调用跑,自动泊车,自动驾驶方法
SmartAudi sa =newSmartAudi();
sa.run();
sa.automaticDrive();
sa.automaticParking();//定义Audi类型的变量 aa 把sa赋值aa,aa只能调用run方法
Audi aa = sa;
aa.run();//aa向下转型为saa
SmartAudi saa =(SmartAudi) aa;//调用自动泊车和自动驾驶方法
saa.automaticDrive();
saa.automaticParking();//定义Smart类型的变量s,把sa赋值给s,测试只能调用自动泊车和自动驾驶方法,不能调用run方法
Smart s = sa;
s.automaticDrive();
s.automaticParking();}}//父类classAudi{publicvoidrun(){
System.out.println("奥迪车在跑");}}//接口interfaceSmart{voidautomaticParking();voidautomaticDrive();}//继承+实现类classSmartAudiextendsAudiimplementsSmart{@OverridepublicvoidautomaticParking(){
System.out.println("智能奥迪车在自动泊车");}@OverridepublicvoidautomaticDrive(){
System.out.println("智能奥迪车在无人驾驶");}}