java - 方法覆盖

标签 java


class A
{
  int i=10;
  void show()
  {
    System.out.println("class A");
  }
}

class B extends A
{
  int i=5;
  public void show()
  {
    System.out.println("class B");
  }
}
class M
{
  public static void main(String s[])
  {
    A a=new B();
    a.show();
    System.out.println(a.i);
  }
}


OUTPUT= class B
        10

如果 A 类方法被 B 类方法覆盖,那么为什么不使用变量“i”?

最佳答案

因为变量不是虚的,只有方法是。

关于java - 方法覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1453652/

相关文章:

java - 是否可以使用 Glassfish 应用服务器运行 gRPC?

java - 使用正则表达式解析文本文件

java - 非法状态异常 : Iterator already obtained

java - 事件 "EVT_CACHE_STARTED"触发后,Apache Ignite 无法从监听器访问缓存

java - java 中的 enshingInstance.newMermberClass(args) - 有效的 java 文本

java - JVM如何设置PATH环境变量

java - 如何使用 Java 验证 JMS 队列是否存在?

java - 线程对信号 3 作出 react

java - 从未知的 JAXBContext (XML) 为 JSON 创建编码器

java - Spring 数据库初始化仅在应用程序重启后才有效