在java中父类调用子类中的方法

本文探讨了在Java中父类是否能直接调用子类方法的问题,并给出了通过接口实现这一目标的具体示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

main方法中是可以的,父类是不能调用子类 的方法的。从面向对象上来说吧。
父类先于子类存在,子类从父类中生出来,所以子类知道父类,可以调用父类方法。但父类不知道子类,子类可以任意的出生,只要你愿意,所以父类无法调用子类,他不知他会有这样的子类,也不知有多少个子类,但子类的父类是唯一的。
简单点就是在JAVA中父类是不能调用子类的方法的。
实际上调用的是你new的是哪个,就是那个,也就是子类的方法
例如
class B extends A
A a = new B();
b.method()--->实际内存里面运行的是B的对象,所以调用的是子类B的方法


在父类中调用子类的方法可以用接口实现,因为接口是实现了多继承的,一个类中可以实现多个接口而只能继承一个父类。所以可以让父类和子类共同实现一个接口
而子类和父类都可实现这个接口中方法。在子类中的方法自然可以被父类调用到。例如:

//接口
public interface ab{
 public void initData();
 public void Data();
}
//子类
public class b  extends a implements ab{
 public void initData(){
  .......initData...
 }
 public void Data(){ 
  .........Data....
 }
}
//父类
public class a implements ab{
 public void initData(){
  b b1=new b();
      b1.initData();
 }
 public void Data(){ 
  b b1=new b();
      b1.Data();
 }
}

转载于:https://my.oschina.net/QQXX/blog/102958

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值