多平台统一管理软件接口,如何实现多平台统一管理软件接口
388
2023-01-04
本文目录一览:
//这里有点绕脑袋,最好仔细看看,比较靠谱一点!
public class 实现接口
{
public static void main(String[] args)
{
System.out.println("\n\t\t==========java 的接口可以实现接口吗?抽象类==========\n");
init();
}//初始化!
private static void init()
{
//创建普通类对象1;
A a=new A();
a.show();
a.method();
System.out.println("\n---------------------------分割线----------------------------\n");
//创建普通类对象2;
B b=new B();
b.show();
b.method();
}
}
//接口1
interface Ain
{
void show();
}
//接口2
interface Bin
{
void method();
}
//接口3,接口与接口之间,可以多继承!
interface Cin extends Ain,Bin
{
}
//抽象类,和普通类,可以对接口来说,进行多实现!
abstract class Aa implements Ain,Bin
{
public void show()
{
System.out.println("Aa---show---run");
}
public void method()
{
System.out.println("Aa---method---run");
}
}
//普通类1继承接口能实现接口了抽象类Aa
class A extends Aa
{
}
//普通类2,实现接口Cin
class B implements Cin
{
public void show()
{
System.out.println("B--show--run--");
}
public void method()
{
System.out.println("B---method---run---");
}
}
接口是常量值和方法定义的集合。接口是一种特殊的抽象类。
java类是单继承的。classB Extends classA
java接口可以多继承。Interface3 Extends Interface0, Interface1, interface……
不允许类多重继承的主要原因是,如果A同时继承B和C,而b和c同时有一个D方法,A如何决定该继承那一个呢?
但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。
注意:
(1)一个类如果实现了一个借口,则要实现该接口的所有方法。
(2)方法的名字、返回类型、参数必须与接口中完全一致。如果方法的返回类型不是void,则方法体必须至少有一条return语句。
(1)因为接口的方法默认是public类型的,所以在实现的时候一定要用public来修饰(否则默认为protected类型,缩小了方法的使用范围)。
总结
首先说明java多实现的背景:
c++中的指针和多重继承易产生安全问题。子类有多个父类,父类又有其父类,继承树很复杂,方法重写和构造易混乱,代码也不易维护。
java吸取教训,采用了单继承多实现的方式。
显然这种bug,接口编写者不会发现,只有程序员在写实现类时,ide首先就会报错。
解决方法:实现类里写个内部类,分别实现两个接口。
补:java规范里,方法名+参数(不含返回值类型)唯一确定一个方法。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~