面向对象第6课——多态——接口
2016-09-26 09:20 宇航员舒克 阅读(165) 评论(0) 收藏 举报 //interface接口课件
package jiekou;
//cpu接口
//关键字interface(与class平级)
//接口就是一套规范,其他的按照这个规范实现(由子类实现才可以使用)
public interface Icpu {
//抽象方法
//默认由public abstract修饰
public abstract void run();
//常量
//默认修饰符public static final
public static final double PI=3.14;
}
package jiekou;
//实现接口implements
public class Inter implements Icpu {
@Override
//实现接口的方法,run未完成的继承方法。
public void run() {
System.out.println("intel的cpu在运行");
}
}
package jiekou;
//implements,子类必须实现接口所有的抽象方法才能实例化
public class AMD implements Icpu {
@Override
public void run() {
System.out.println("AMD的cpu在运行");
}
}
package jiekou;
public class computer {
//cpu
private Icpu cpu;//变量类型为接口类型,相当于了变量cpu继承了Icpu所有的属性和方法,相当于用cpu实例化了Icpu。
public Icpu getCpu() {
return cpu;
}
public void setCpu(Icpu cpu) {
this.cpu = cpu;
}
//造一个方法,开机
public void onPower()
{
//cpu开始运行
cpu.run();//调用接口方法run。
// System.out.println(cpu.PI);
}
}
package jiekou;
public class Icputset {
public static void main(String[] args) {
// TODO Auto-generated method stub
computer pc=new computer();//用pc实例化computer类,建立pc对象
Inter y=new Inter();//用y实例化Inter,建立inter的对象y。
pc.setCpu(y);
pc.onPower();
//匿名对象
// pc.setCpu(new Inter());
// pc.onPower();
computer pc2=new computer();
// Inter abc=new Inter;
//匿名对象
pc2.setCpu(new AMD());
pc2.onPower();
}
}
//接口总结
//定义:interface,与class平级
//接口只有抽象方法和常量值;
//特点:特殊的抽象类,只包含常量和抽象方法,接口与抽象类一样不可以实例化。
//作用是定义一种规范
//所有成员变量默认由public final static修饰。
//所有方法默认由public abstract修饰
//只有抽象方法和常量,无构造方法。
//一个类可以实现多个接口。
//接口可以宽展下一个或者多个接口,建立成interface形式,用extends继承上个接口。

浙公网安备 33010602011771号