中易网

JAVA中A a=new B()的意思;

答案:5  悬赏:60  
解决时间 2021-01-29 23:57
JAVA中A a=new B()的意思;
最佳答案
接口只是为了定义一上类的标准,并没有具体的实现代码,是取一些对象的共同特性进行抽象,比如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即可,希望以上回答可以帮到你。
全部回答
接口内部没有方法的实现,调用方法自然是B类的方法,因为B类实现了接口,定义了方法的实现,好处很多,具体你可以参考百度百科
这是JAVA里的多态
一般出现这样的话,都是这样运用的:
A a=new B();
A a=new C();
A a=new D();
这样只要定义一个a,就能生成很多对应的子类
JAVA中A a=new B()的意思是将A的引用指向B的对象,是向上造型,java多态的一种表现。
父类的引用指向子类的对象叫做向上造型,一个类的对象可以向上造型的类型有:父类的类型及其实现的接口类型。
a调用的是B的方法,因为new B()创建的是B的对象。
至于为什么要写成 A a = new B();是因为扩展性能比 B b = new B()好吧!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
格欣国际装饰公司和东易日盛哪家好?
国家性的初级职称怎么评
根号9×9 19,根号99×99 199,根号999×999 19
强大的饭友们,有没有用ubuntu的,请教个问题
这是参吗,有藤,种子是黑色的
在这个社会一个女人有能力随心所欲过着自己要
开一家冰激凌店需要多少的资金呢,店面大约10
劳务关系损害赔偿 雇主免责声明有效吗
我买白幼子过来3块,我卖出去应该要卖多少钱
拉肚子的时候能喝普洱茶吗?
社保没交满十五年不交了可不可以全额退款
买地砖应该注意什么?什么是好的?
【救急】今年办足球二级运动员证需要多少钱?
斜视矫正手术,眉山不可以做么?做有什么风险
PSP能玩假面骑士 战骑大战和超级战队:穿越者
推荐资讯
招生对象限招参加2016年全国高考的高中毕业或
深圳友佳联fw320r路由器怎么设置
八百方网上药店如何?
三星s6otg功能怎么开启
请问汇算清缴在地税,用报副表和关联申报吗
大型服装超市的会计是怎么做账的,求流程
买苹果手机是在网上买还是去实体店买。
double类型数据可以自加吗?就是a++
学生改动成绩单怎么被抓?企业要道学校提取学
急求!黑塔利亚roco式的模型!
悄悄话都是骗人的么?
西安那里能招到牛肉拉面师傅?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?