java - 从父类方法调用子类方法

标签 java oop inheritance methods

考虑以下情况

class A
{
    X()
    {
        //some code
        Y();
    }
}

class B extends A
{
    Y(){ //some code }
}

如果我创建类 B 的对象,并且尝试使用函数 X,因为它是从 A 扩展而来的,是吗?函数X可能可以访问类B的调用对象的函数Y

最佳答案

可以,但必须满足

  1. 类是抽象的
  2. Y 方法也很抽象
<小时/>

示例:

abstract class A {
    void X() {
        Y();
    }

    abstract void Y();
}

class B extends A {
    @Override
    void Y() {
        System.out.println("Hello from B class");
    }
}

以这种形式,每次类 A 调用 Y 时,它实际上都会调用抽象方法 Y 的实现方法

关于java - 从父类方法调用子类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44430815/

相关文章:

java - 线程管理——竞争线程

java - OOP 中的开闭原则

c# - 为什么访问静态成员 "through"继承类型有用?

java - 从工厂中的字符串参数获取正确的对象

c++ - C++ 中的 vector 容器和静态绑定(bind)?

C++通过继承隐藏变量?

java - 可以有两个单独的 Log4j 日志文件吗?

java - 与可能会或可能不会回复的系统集成

java - 安卓 fragment 'requestFeature must be called'

php - SOLID - 单一职责原则是否适用于类中的方法?