A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

什么父类引用指向子类对象!
什么成员变量编译看左边,运行看右边!
成员方法编译看左边,编译就又看右边了,已经够懵逼了,
居然还有个静态方法编译看左边,运行看右边! 我java 小白表示完全蒙圈! 有种想死的冲动,毕竟死记硬背的东西肯定用不好!有老司机能简单明了的解释下吗? 万分感激!

29 个回复

倒序浏览
回复 使用道具 举报
没人吗?
回复 使用道具 举报
首先你记错了,成员变量和静态方法编译运行都看左边。
拿 Fu fu =new Zi();
     fu.show();  举例,其中,Zi继承Fu,show()是成员方法:
所谓编译看左边,就是编译时看  Fu类里有没有show()方法,没有就报错;
所谓运行看右边,是讲运行时执行的是Zi类重写后的show()方法。
你需要重新看视频,好好理解!另外静态方法比较特殊,要注意。
回复 使用道具 举报
今天蒙圈了吗?不要忧桑不要彷徨,因为明天还会接着蒙-,-
回复 使用道具 举报
先把视频搞一遍,不懂的记下来,再回头理解总结总会懂得,多看看别人博客里的资料,超详细的
回复 使用道具 举报
记住就好啦,只有非静态方法是看子类的,静态方法和成员变量都是看父类的
回复 使用道具 举报
静态方法是运行看左边
回复 使用道具 举报
多敲键盘
回复 使用道具 举报
支持一下了
回复 使用道具 举报
学习时间久了,久明白 了
回复 使用道具 举报
静态方法  编译运行都是看左边
回复 使用道具 举报
[Java] 纯文本查看 复制代码
class Text {
 public static void main(String[] args){
  fu f = new zi();
 }
}
class fu {
 public fu(){
 System.out.println("fu");
 }
}
class zi {
 public zi(){
   System.out.println("zi");
 }
}

上面的fu f= new zi()就是父类引用指向子类对象,因为等号右边new了一个子类对象,把他赋值给了父类.  
成员变量运行和编译都看左边
回复 使用道具 举报
静态方法编译运行都看左边
回复 使用道具 举报
多去练习一下,就会明白好多,理解再多,敲不出来也不行
回复 使用道具 举报
有些规则硬背下来就行了,{:3_46:}
回复 使用道具 举报
父类引用指向子类对象,由下而上转型,根据被引用的子类对象特征的不同,会得到不同的运行结果,这就是多态,
回复 使用道具 举报
这个静态的方法 编译和运行都是看左边的  你记错了
回复 使用道具 举报
学习学习!
回复 使用道具 举报
对于初学者小白自学的话,面向对象的特性这块是不太好理解的,万物皆对象{:2_32:}。学习这章的时候,你把你所看到的都想成是一个对象,他有什么属性。他有什么行为等待,时间长了慢慢你就懂了!
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马