我希望有很多很多的爱,如果没有很多的爱,我希望有很多很多的钱;没有很多的钱,我希望拥有健康! I am like the road in the night listening to the footfalls of its memories in silence.

java: 子类同时继承类和接口

上一篇 / 下一篇  2016-02-17 10:08:41 / 个人分类:Java

从下面的例子的中,在应用中,是定义子类对象的,看不出子类所继承的接口好处,即使不写接口也是OK的。
 
确实难以想象接口的好处,能想象出的就是很多的Libary接口都是开放interface,给出相关接口的参数情况,看不到具体的逻辑,是不是在封装的时候,有机制可以把其对应的类真正实现的逻辑隐藏起来,如果是这样子,interface有这个好处吧
 
package edu.javase.buffer;

interfacefaces {
publicvoidfacefun1();

publicintfacefun2();

publicString facefun3();
}

interfacefaces2 {
publicvoidfacefun11();

publicintfacefun22();

publicString facefun33();
}

classfatherz {
publicfatherz() {
System.
out.println("fatherz 构造器");
}

publicfatherz(inti) {
System.
out.println("fatherz int i 构造器"+i);
}

publicvoidfatherfun() {
System.
out.println("fatherfun");
}

}

classdemoface extends fatherz implements faces, faces2 {//一旦集成必须实现所有接口
publicdemoface() {
super();
System.
out.println("demoface 构造器");
}

publicdemoface(inti) {
super(
1);
System.
out.println("demoface int i 构造器"+i);
}

@Override
publicvoidfacefun1() {
System.
out.println("实现接口 facefun1");
}

@Override
publicintfacefun2() {
System.
out.println("实现接口 facefun2");
return0;
}

@Override
publicString facefun3() {
System.
out.println("实现接口 facefun3");
returnnull;
}

@Override
publicvoidfacefun11() {
System.
out.println("实现接口 facefun11");
}

@Override
publicintfacefun22() {
System.
out.println("实现接口 facefun22");
return0;
}

@Override
publicString facefun33() {
System.
out.println("实现接口 facefun33");
returnnull;
}
}

publicclassdemointerface {
publicstaticvoidmain(String[] args) {
demoface dd
=newdemoface();//定义的对象是子类的
dd.facefun1();
//调用接口,并且实现
dd.facefun2();
dd.facefun3();

dd.facefun11();
dd.facefun22();
dd.facefun33();
System.
out.println("----------------");

demoface ff
=newdemoface(5);
ff.fatherfun();
//同事继承父类
}
}

TAG: java Java 接口

 

评分:0

我来说两句

Open Toolbar