1.This static method cannot hide the instance method from [superclass]
父类的实例方法,子类不允许用同名且同参数的静态方法隐藏.
e.g:
superclass >public void printCCTV (int a, int b)
subclass >public static void printCCTV (int a, int b) ----------------false
subclass >public static void printCCTV (int a, long b) --------------true(change args)
subclass >public void printCCTV (int a, long b) ----------------true(change args and return type)
2.The return type is incompatible with [supercalss].[method]
子类中该方法的返回值必须与父类同名同参数方法返回值保持一致
e.g:
superclass >public static void printCCTV (int a, int b)
subclass >public static void printCCTV (int a, int b) ----------------true//动态绑定该静态方法
subclass >public static int printCCTV (int a, int b) ----------------false
subclass >public static int printCCTV (int a, long b) ----------------true(change args)
3.This instance method cannot override the static method from[class]
实例方法不允许重载静态方法.
e.g:
superclass >public static void printCCTV (int a, int b)
subclass >public void printCCTV (int a, int b) ----------------false
subclass >public static void printCCTV (int a, int b) ----------------true
subclass >public static void printCCTV (int a, long b) --------------true
4.Cannot reduce the visibility of the inherited method from [superclass]
不可进一步缩小继承而来的方法的可见性.(public > protected > default > private)
e.g:
superclass >protected void printCCTV (int a, int b)
subclass >public void printCCTV (int a, int b) ----------------false
subclass >public void printCCTV (int a, int b) ----------------false
superclass >private void printCCTV (int a, int b)
subclass >private void printCCTV (int a, int b) ----------------true
subclass >public void printCCTV (int a, int b) ----------------true
superclass >void printCCTV (int a, int b)
subclass >void printCCTV (int a, int b) ----------------true(default)
subclass >private void printCCTV (int a, int b) ----------------false
subclass >public void printCCTV (int a, int b) ----------------true
本文详细介绍了Java中子类方法与父类方法的关系,包括子类如何正确重写或隐藏父类的方法,以及在不同情况下方法可见性和参数类型的要求。
1万+

被折叠的 条评论
为什么被折叠?



