举个例子:
public class Test {
public static void main(String[] args) {
System.out.println("Test");
}
}class B extends Test {
public static void main(String[] args){
System.out.println("B");
}
}
对于static,子类与父类必须是一样的,要么同时存在,要么同时不存在,都没错。
对于public,同时存在同时不存在也没问题,另外只去掉Test类main的public也没错,但是如果只去掉B类main的public就会出错。这是问什么呢?
哪位给解释一下啊?
public class Test {
public static void main(String[] args) {
System.out.println("Test");
}
}class B extends Test {
public static void main(String[] args){
System.out.println("B");
}
}
对于static,子类与父类必须是一样的,要么同时存在,要么同时不存在,都没错。
对于public,同时存在同时不存在也没问题,另外只去掉Test类main的public也没错,但是如果只去掉B类main的public就会出错。这是问什么呢?
哪位给解释一下啊?
如果不写他默认的是private
而JAVA明确规定子类的方法要比父类更宽
你子类写个重载或覆盖父类的私有方法是没有意义的