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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值