5. 理解接口
理解的关键点是:
(1)接口可以抽象出重要的行为标准,该行为标准用抽象方法表示。
我的理解:项目由很多个部分组成,比如有很多个类。但很重要的程序比如接口,是由很重要的人写的,因为这个关乎整个程序最核心的部分。很多类都可以实现同一个接口。
为什么要有接口,接口为什么要写抽象的行为?
比如:电视机有开关,汽车有开关,很多东西都有开关 开关在这里是行为ON和OFF,这样一来,虽然这些东西的开关不同,但是都有开关两个动作,我们就把开和关这个抽象行为写进一个接口,
这样一来,这些类就可以通过实现接口来重写ON和OFF方法,把自己的开关的具体细节写进方法体。
(2)可以把实现接口的类的对象的引用赋值给接口变量,该接口变量可以调用被该类实现的接口方法,即体现该类根据接口里的行为标准给出的具体行为。
具体代码举例:
abstract class MotorVehicles{
abstract void brake();
}
interface MoneyFare{
void charge();
}
interface ControlTemperature{
void controlAirTemperature();
}
class Bus extends MotorVehicles implements MoneyFare{
void brake(){
System.out.println("公共汽车使用碟式刹车技术");
}
public void charge() {
System.out.println("公共汽车:1元/张,不计算公里数");
}
}
class Taxi extends MotorVehicles implements MoneyFare,ControlTemperature{
void brake(){
System.out.println("出租车使用盘式刹车技术");
}
public void charge(){
System.out.println("出租车:2元/公里,起价3公里");
}
public void controlAirTemperature(){
System.out.println("出租车安装了Hair空调");
}
}
class Cinema implements MoneyFare,ControlTemperature{
public void charge(){
System.out.println("电影院:门票,十元/张");
}
public void controlAirTemperature(){
System.out.println("电影院安装了中央空调");
}
}
public class Example6_3 {
public static void main(String[] args) {
Bus bus101 =new Bus();
Taxi buleTaxi =new Taxi();
Cinema redStarCinema= new Cinema();
MoneyFare fare;
ControlTemperature temperature;//以上五行是三个对象,两个接口变量//对象和接口变量都是引用型
fare =bus101;//把bus引用给fare
bus101.brake();
fare.charge();//接口回调,看看bus是如何收费的,也就是说fare接口变量提醒bus101对象调用方法charge
fare =buleTaxi;
temperature=buleTaxi;
buleTaxi.brake();
fare.charge();
temperature.controlAirTemperature();
fare =redStarCinema;
temperature=redStarCinema;
fare.charge();
temperature.controlAirTemperature();
}
}

浙公网安备 33010602011771号