永发信息网

java向上转型 为什么只能引用父类属性,而方法调用时只能调用父类已有的方法,并且父类方法能被子类覆盖。

答案:3  悬赏:80  手机版
解决时间 2021-04-14 16:06
在创建对象的时候是调用子类构造器,那么属性是什么时候赋值的,如果是调用有参构造器为什么里面的赋值没有用呢?

package day05;

public class Person {
String name="父类";
public Person() {
System.out.println("调用父类无参构造器");
}
public Person(String name){
this.name=name;
System.out.println("调用父类有参构造器 name="+this.name);
}
void show(){
System.out.println("调用父类方法");
}

public static void main(String[] args) {
Person p=new Son("aa");
System.out.println(p.name);;
}
}
class Son extends Person{
String name="子类";
public Son() {
System.out.println("调用子类无参构造器");
}
public Son(String name){
this.name=name;
System.out.println("调用子类有参构造器 name="+this.name);
}
void show(){
System.out.println("调用子类方法");
}
}
最佳答案
虽然时间有点久了,还是要分享一下自己的见解。
向上造型:抽取 子类中 [和父类共有的属性和方法] 用来操作。
向上造型作用范围:父类的非私有属性和方法+子类中和父类共有的属性和方法。(非静态方法调用子类的;静态方法,属性调用父类的)
普通继承作用范围:父类的非私有属性和方法+子类中和父类共有的属性和方法+子类扩展方法和属性。
反过来是不是可以说,向上转型就是去掉子类里父类没有的方法和属性。
向下造型,把抽取出拥有父类共性后的子类再强转为同一类型的子类,这时子类和普通子类一样可以使用扩展方法和属性
全部回答
不可以
方法之所以能被子类覆盖就是因为有extends这个关键子 你已经继承了Person 所以他的一些属性和方法就是你的了 然而你又写了 void show() void show() 本身就是父类传递给你的 也就是说你什么都不写 也照样可以点出这个方法 你写了这个之后 就是对方法的重写 (不知道你这一点理解不理解) 然而你其他的问题我没明白你到底是想问什么 你到底是想问子父类中构造方法的始化顺序还是什么 你能跟我说说吗
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
本人以有所愛 英語怎麼打
活性污泥好氧池12小时不供气有影响吗
高压锅可不可以在电磁炉上煮饭?
初中数学老是进,数学题.
我在网上新买的大赛摩托车他说有发票有合格证
喜美居连锁商务宾馆我想知道这个在什么地方
超级qq怎么屏蔽了
单选题如果一条直线与一个平面平行,那么,称
心痛的好压抑用英语怎么说
木盆的裂缝怎么修补?
东莞哪里有电热水袋批发?
人要怎么才不会幼稚,变得成熟???
Q豆兑换整套的QQ秀只有那四套吗?
梦幻诛仙为什么不能解压?
鞑子碳烤羊腿利源路店怎么去啊,有知道地址的
推荐资讯
西园南街在什么地方啊,我要过去处理事情
暗的同义词,显得的近义词是什么
ipad mini4不可以直接打电话吗
突发奇想中奇是什么意思
爱上一个不爱你的人,是继续还是放弃?
下载后的万能声卡驱动怎么用
你会做股票吗?是不是亏了还赚了?
贵阳城建市政工程公司在哪里啊,我有事要去这
宝剑出鞘歇后语,关于剑的诗词
对于第3者的看法
哪里可以找到山西历年中考真题及答案啊?
都市时尚女人内衣坊地址在什么地方,想过去办
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?