`
venus585625
  • 浏览: 249052 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

类的静态属性和静态方法

阅读更多
子类可以继承父类的静态属性和静态方法,但是无法装载子类的静态方法.即使在子类中有一个与父类具有相同方法标签(方法名相同,参数类型相同,返回值类型相同,甚至连访问级别也相同),也只能说明是对子类又新建了一个与父类同名的静态方法,而不是对父类的静态方法的重载.
父类:
public class Base {
    public static void baseFunc(){
        System.out.println("在父类的静态方法中");
    }
}

子类:
public class SubBse extends Base{
    public static void baseFunc(){
        System.out.println("在子类的静态方法中");
    }
}


Test

public class test {
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        SubBse.baseFunc();
        Base b=new SubBse();
        b.baseFunc();
        SubBse subB=new SubBse();
        subB.baseFunc();
    }
}


输出结果:
在子类的静态方法中
在父类的静态方法中
在子类的静态方法中


可知,子类是继承了父类的静态方法,但是你无法重载:
        Base b=new SubBse();
        b.baseFunc();
这里输出的是父类的,因为如果baseFunc 是非静态的,则输出的是:在子类的静态方法中
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics