本帖最后由 qqwwdr 于 2014-3-16 08:54 编辑
被静态修饰的方法是不能被覆盖
刚复习到继承这里,
在方法覆盖时,注意两点:
1:子类覆盖父类时,必须要保证,子类方法的权限必须大于等于父类方法权限可以实现继承。否则,编译失败。
2:覆盖时,要么都静态,要么都不静态。 (静态只能覆盖静态,或者被静态覆盖).
所以,, 静态方法不存在可不可以被覆盖的问题.
因为静态方法是属于类级别的, 覆盖是指子类对象覆盖父类对象的方法.覆盖是对象级别的.
- public class StaticTest {
- public static void main(String[] args)
- {
- System.out.println("Hello World!");
- Static1.init();
- Static2.init();
- }
- }
- class Static1{
- public static void init(){
- System.out.println("Static1");
- }
- }
- class Static2 extends Static1{
- @Override
- public static void init(){
- System.out.println("Static2");
- }
- }
复制代码
测试了下, 使用 @Override 时, 会报错.
|