当从类型a的引用变量调用静态方法时,Java会发现该方法在哪里?

当从类型a的引用变量调用静态方法时,Java会发现该方法在哪里?,java,oop,Java,Oop,当从类型a的引用变量调用静态方法时,Java会发现该方法在哪里 a) 类显示对象所属的类 b) 甲级 c) 从显示对象所属的类开始,如果看不到,则查看超类 d) A的子层 public class A { public static void get(){ System.out.println(); } } public class B extends A { public static void get(){ S

当从类型a的引用变量调用静态方法时,Java会发现该方法在哪里

a) 类显示对象所属的类

b) 甲级

c) 从显示对象所属的类开始,如果看不到,则查看超类

d) A的子层

public class A {      
    public static void get(){
        System.out.println();
    }
   }

public class B extends A {
       public static void get(){
        System.out.println("this is Get() method ");
    }
   }

public static void main(String args[]){
       A a=new A();
       A b=new B();
         a.get();
         b.get(); 
  }

在这种情况下,程序将打印两行空行,因为两个调用都指向类A的静态方法

这是因为静态调用不是在运行时计算的,而是在编译时计算的,您不能对它们使用覆盖功能

因此,在这两种情况下,可视类都是“A”,因此将调用A的静态方法get()