java第十二课(4.17) 接口和抽象

接口
接口是用来解决java里面单根继承的缺陷,一个类里面可以有很多个接口,用关键字implements来连接且多个接口用逗号分隔如:       public class   Dog implements Pet ,animal{}
创建一个接口的代码是: public  interface Pet{}      //interface是关键字,把它与class(类)代替一下就是接口了
接口可以创建成员变量,但都是静态常量 static final   接口所有的方法都是public abstract
接口没有构造方法
接口与继承的 相同点
1.子类必须实现接口的 抽象方法。 2.都不能 被实例化(因为没有意义) 3.都能包含 抽象方法

不同点:
1.抽象类可以有其他普通方法,但是接口只能有抽象方法。
2.一个类只能继承一个直接父类,但接口可以多个引用。

接口实际引用个人需要注意:如Pet是接口      Dog、Cat是引用接口的类,我们需要根据灵活运用对象实例化可以这样写         Pet pet;  这代表着用接口Pet来引用所有子类对象,pet就可以使用接口需要实现的方法了。后面只需在实现类里面实例化Dog或者Cat的对象,把该对象通过set的方法赋值,那么程序就比较灵活了。如下面的部分代码:

public class Computer {                //计算机组装方法类
CPU c;
HardPan hp;
InternalMemory im;


public CPU getC() {
return c;
}

public void setC(CPU c) {
this.c = c;
}

public HardPan getHp() {
return hp;
}

public void setHp(HardPan hp) {
this.hp = hp;
}

public InternalMemory getIm() {
return im;
}

public void setIm(InternalMemory im) {
this.im = im;
}

public void zuZhuang(){
System.out.println("计算机的信息如下:");
System.out.println("CPU的品牌是:"+ c.type()+",主频是:"+ c.num()+"Hz");      //这里引用的是接口实现类的方法
System.out.println("硬盘容量是:"+ hp.HPspace()+"GB");
System.out.println("内存容量是:"+ im.IMspace()+"G");
}
}

*******************************************************分割线**************************************************************

public class Text {                //实现测试类
public static void main(String[] args) {
Computer cp=new Computer();
CPU c1=new AMD(); 
cp.setC(c1);   //通过实例化分割线上的类,调出set的方法,再通过接口实例化子类对象c1。c1就代表着new AMD

HardPan h1=new XiBuDisk();
cp.setHp(h1);

InternalMemory i1=new KingSton();
cp.setIm(i1);

cp.zuZhuang();
}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值