JAVA中A a=new B()的意思;
答案:5 悬赏:60
解决时间 2021-01-29 23:57
- 提问者网友:抽煙菂渘情少年
- 2021-01-29 17:31
JAVA中A a=new B()的意思;
最佳答案
- 二级知识专家网友:西岸风
- 2021-01-29 17:38
接口只是为了定义一上类的标准,并没有具体的实现代码,是取一些对象的共同特性进行抽象,比如A接口有print方法,那么实现A接口,就必需实现print方法,接口是不能实例化的,必需new具体的实现类,比如:
interface A{
void cry{};
}
class Cat implements A{
public void cry(){
System.out.println("CAT CRY");
}
}
class Dog implements A{
public void cry(){
System.out.println("DOG CRY");
}
}
具体调用代码:
A a=new Cat();
a.cry();
a=new Dog();
a.cry();
如上代码,不管你的实现类是cat还是dog,a都不管,只需要调用cry即可,希望以上回答可以帮到你。
interface A{
void cry{};
}
class Cat implements A{
public void cry(){
System.out.println("CAT CRY");
}
}
class Dog implements A{
public void cry(){
System.out.println("DOG CRY");
}
}
具体调用代码:
A a=new Cat();
a.cry();
a=new Dog();
a.cry();
如上代码,不管你的实现类是cat还是dog,a都不管,只需要调用cry即可,希望以上回答可以帮到你。
全部回答
- 1楼网友:天凉才是好个秋
- 2021-01-29 21:19
接口内部没有方法的实现,调用方法自然是B类的方法,因为B类实现了接口,定义了方法的实现,好处很多,具体你可以参考百度百科
- 2楼网友:旧脸谱
- 2021-01-29 21:11
这是JAVA里的多态
一般出现这样的话,都是这样运用的:
A a=new B();
A a=new C();
A a=new D();
这样只要定义一个a,就能生成很多对应的子类
一般出现这样的话,都是这样运用的:
A a=new B();
A a=new C();
A a=new D();
这样只要定义一个a,就能生成很多对应的子类
- 3楼网友:琴狂剑也妄
- 2021-01-29 20:29
JAVA中A a=new B()的意思是将A的引用指向B的对象,是向上造型,java多态的一种表现。
父类的引用指向子类的对象叫做向上造型,一个类的对象可以向上造型的类型有:父类的类型及其实现的接口类型。
父类的引用指向子类的对象叫做向上造型,一个类的对象可以向上造型的类型有:父类的类型及其实现的接口类型。
- 4楼网友:三千妖杀
- 2021-01-29 19:11
a调用的是B的方法,因为new B()创建的是B的对象。
至于为什么要写成 A a = new B();是因为扩展性能比 B b = new B()好吧!
至于为什么要写成 A a = new B();是因为扩展性能比 B b = new B()好吧!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯