Java – when the difference between methods is a parameter subtype, null is passed to the overriding method
                                        
                    •
                    Java                                    
                See English answer > which overload will get selected for null in Java? 3
Why does the virtual machine call this method f (null) {system. Out. Println ("B");}?
Why not f (null) {system. Out. Println ("a");}
public class Test{
    public static class A {}
    public static class B extends A {}
    public void f(A a) {System.out.println("A");}
    public void f(B a) {System.out.println("B");}
    public static void main(String[] args) {
        new test().f(null);
    }
}
Solution
Call the method with the most specific parameter type This is the rule
                            The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
                        
                                            
                        THE END
                    
                    
                    
                                                        二维码
                        
                        
                                                
                        