中易网

JAVA中new的一点问题

答案:6  悬赏:60  
解决时间 2021-01-19 01:01
  • 提问者网友:沉默的哀伤
  • 2021-01-18 03:14
JAVA中new的一点问题
最佳答案
  • 二级知识专家网友:愁杀梦里人
  • 2021-01-18 03:39
问题1:不是实例化一个a,是实例化一个T1
问题2:就是new出两个T1的实例;你可以把T1看成是一个模子,new T1();就是按照这个模子做一个东西出来,new几次就做几个,所以做出来的东西并不是一个东西,但是它们很像,明白了么?

不好意思看错了,T2 b=new T1();如果T1继承自T2的话那么你的程序就正确,否则就是错误代码。如果正确的话,T2 b就是声明要创建的b是T2类型,而new T1();就是创建了一个T1类型赋值给b,因为T1是T2的子类所以是允许的,你调用方法的话,如果T1和T2里有同名同参同返回方法那么调用的是T1里的。
全部回答
  • 1楼网友:鱼芗
  • 2021-01-18 08:02
(1)new 出一个T1的实例,也可以像你那么多,实例化一个T1的对象,对象名为a
(2)T2 b=new T1()这个用法必须要T1继承了T2的时候才可以用,两个的区别就是,当T1 a=new T1()的时候,你的a对象只能调用T1类里的方法,当T2 b=new T1()的时候,其实b调用的是T2类里的方法
  • 2楼网友:duile
  • 2021-01-18 06:32
new是java里面的关键字.一般用于创建一个新的对象.
T1 a= new T1();表示创建一个新的T1对象.
T2 b= new T1();这种多用在接口类与实现类之间或子类与父类间
在接口中使用时:T2应该是一个接口类,T1为T2的实现类。
在子类与父类关系时:T2为父类,T1为T2的子类。
这些用法都是Java中多态性的一个表现
  • 3楼网友:空山清雨
  • 2021-01-18 05:47
JAVA中都是用引用来操作对象,a是引用,new T1()是对象,T1 a = new T1()这段代码,则是将他们连接起来,这样就可以通过a来操作new T1()这个对象;
new这个关键字可以理解为“给我一个新对象”的意思;
那么T1 a = new T1(),可理解为:a说“给我一个新的T1对象”;
T2 b= new T1();可理解为:b说“给我一个新的T1对象”,可b是属于T2类型的引用,不兼容,所以不能连接T1,因此编译时会报错。
所以两者区别是,他们同为T1类型的引用,但却连接不同的对象,因为给他们的都是一个新的对象,并不一样。
T2与T1之间有继承关系吗?? 如果有,则说明T2为T1的父类,就好像花和玫瑰的关系一样,玫瑰属于玫瑰,玫瑰也属于花,所以T2 b= new T1()也可以建立连接,如果调用的方法在T1里有,则是T1里。
  • 4楼网友:怀裏藏嬌
  • 2021-01-18 05:24
1. 就是实例化 一个 T1 , 后台就开始分配内存 等等.
2. 这是个多态的现象. T1 肯定继承 自 T2 . 比如 T2 是自行车.
T1是山地自行车... 那么 山地自行车是不是自行车呢.? 肯定是... 所以T2 = new T1(); 但 反过来 自行车 是不是 山地自行车呢 ? 肯定不是. 所以T1 不能 等于 new T2();
  • 5楼网友:妄饮晩冬酒
  • 2021-01-18 04:44
路过,暂时保留意见!
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息