首页 > 代码库 > 静态方法不能重写
静态方法不能重写
1.静态方法是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用该方法。
class Cat{ protected static String color ="random"; public void showCatColor(){ System.out.println("Cat : "+color); } public static void staticShowColor(){ System.out.println("Cat static : "+color); }}class WhiteCat extends Cat{ protected static String color ="white"; public void showCatColor(){ System.out.println("WhiteCat :"+color); } public static void staticShowColor(){ System.out.println("WhiteCat static :"+color); }}
2.测试
面试官看了结果后,直接叫我回去。
public static void main(String[] args) { // WhiteCat whiteCat = new WhiteCat();// Cat cat = whiteCat; // cat.staticShowColor();// cat.showCatColor(); /** * Cat static : random * WhiteCat :white */ // Cat cat = new WhiteCat();// WhiteCat whiteCat = (WhiteCat)cat; //其实和上面的那段代码是相同的 // cat.staticShowColor(); //都是调用父类的静态方法,输出父类的静态变量// cat.showCatColor(); /** * Cat static : random * WhiteCat :white */ // Cat cat = new Cat();// WhiteCat whiteCat = cat; //cannot convert from Cat to WhiteCat// cat.staticShowColor();// cat.showCatColor(); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。