java接口可以实例化吗 接口如何实例化
大家好,关于java接口可以实例化吗很多朋友都还不太明白,今天小编就来为大家分享关于接口如何实例化的知识,希望对各位有所帮助!
java接口和实例化的问题。
接口是更加抽象的抽象类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体。接口体现了程序设计的高内聚低耦合和多态的设计思想。另外,Java中继承都是单继承的,对子类的功能扩展有一定的影响,接口可以看做是对继承的一种补充。实现接口,可在不打破继承关系的前提先,对某个类功能扩展,非常灵活。
public class InterfaceTest{
/**
*@param args
*/
public static void main(String[] args){
// TODO Auto-generated method stub
Computer computer=new Computer();
Camera camera=new Camera();
Phone phone=new Phone();
computer.play(camera);
computer.play(phone);
}
}
interface Usb
{
public void start();
public void stop();
}
class Camera implements Usb
{
public void start()
{
System.out.println("相机开始工作");
}
public void stop()
{
System.out.println("相机停止工作");
}
}
class Phone implements Usb
{
@Override
public void start(){
// TODO Auto-generated method stub
System.out.println("手机开始工作");
}
@Override
public void stop(){
// TODO Auto-generated method stub
System.out.println("手机停止工作");
}
}
class Computer
{
public void play(Usb usb)
{
usb.start();
usb.stop();
}
}
java中接口可以继承多个接口吗
接口是常量值和方法定义的集合。接口是一种特殊的抽象类。
java类是单继承的。classB Extends classA
java接口可以多继承。Interface3 Extends Interface0, Interface1, interface……
不允许类多重继承的主要原因是,如果A同时继承B和C,而b和c同时有一个D方法,A如何决定该继承那一个呢?
但接口不存在这样的问题,接口全都是抽象方法继承谁都无所谓,所以接口可以继承多个接口。
自我看法
因为类如果可以多继承,实例化时,如果要跳用父类的方法,如果两个一样,
根本就不知道该调用那个父类的方法;
但是接口就不一样了,因为接口继承多个接口,就算多个接口有相同的方法,
但是最终实现接口的类只能实现一个方法且@Override一个方法,所以调用时就
不会有问题了
注意:
1)一个类如果实现了一个借口,则要实现该接口的所有方法。
2)方法的名字、返回类型、参数必须与接口中完全一致。如果方法的返回类型不是void,则方法体必须至少有一条return语句。
3)因为接口的方法默认是public类型的,所以在实现的时候一定要用public来修饰(否则默认为protected类型,缩小了方法的使用范围)。
java中接口可以实现多个接口吗
接口只能继承多个接口。java中接口其实里面全是抽象类,抽象类就是只有方法名,方法体没有,也就是说方法没有实现,接口可以继承多个接口,而类可以实现多个接口,你实现一个接口,相当于从它那里可以得到它的抽象方法。而自己也可以增加自己的方法。
打个比方
猴子会吃东西是抽象的没有具体的只吃哪样
而人也会吃东西人可以继承猴子吃东西的方法那人也可以吃东西了人还可以给自己添加独特的方法比如上网等
而接口方便在于对于动物来说都会吃东西所以我们把这个共性的方法抽取出来成为抽象方法放到接口里,
那这样各种各样的动物都可以去继承这个方法那它也就拥有了这个方法
好了,文章到此结束,希望可以帮助到大家。