Java中子类重写父类方法的思想本质!

Crq
Crq
管理员
1418
文章
0
粉丝
Linux教程评论15字数 377阅读1分15秒阅读模式
摘要Java语言中,在子类中定义与父类同返同名同参的方法将会出现“重写(覆写)”,子类将屏蔽父类的相同方法,调用子类的方法将不会调用到父类的该方法。

许多初学者也许会被“覆写”一词迷惑,以为覆盖掉了父类的方法,其实这两种方法是同时独立存在的,只是子父类调用该方法的入口不一样,彼此互不干扰。

/*
需求:设计一个简单的java程序,证明子类重写父类方法的过程
思路: 1、创建父类对象,通过父类对象调用该方法
2、创建子类对象,通过父类对象调用该方法
3、通过子类对象调用该方法
*/
class RerridingTest
{
public static void main(String[] args)
{
Father f = new Father();
f.show();
Child c = new Child();
f.show();//创建子类对象并没有“覆盖”掉父类自己的show()方法
c.show();//子类调用同名方法时直接访问自己定义的方法,并没有访问父类的方法
}
}
class Father
{
void show(){
System.out.println("father show run.");
}
}
class Child extends Father
{
void show(){
System.out.println("child show run.");
}
}
/*
总结:重写过程是
创建子类对象时,因为子类中已有定义该方法,故不从父类继承该方法;
调用方法时,判断调用对象在内存中是何种类型,然后到相应类型的方法区中寻找该方法
*/

结果:

Java中子类重写父类方法的思想本质!

总结:

重写过程是创建子类对象时,因为子类中已有定义该方法,故不从父类继承该方法;调用方法时,判断调用对象在内存中是何种类型,然后到相应类型的方法区中寻找该方法。

weinxin
我的微信
微信号已复制
我的微信
这是我的微信扫一扫
 
Crq
  • 本文由 Crq 发表于2025年1月13日 21:06:50
  • 转载请注明:https://www.cncrq.com/12593.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证