浏览 2032 次
锁定老帖子 主题:一个细节
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2008-01-30
package test; class Cat { private static String color="donot know"; public void showColor(){ System.out.println("cat: "+color); } public static void showStaColor(){ System.out.println("cat: "+color); } } class WhriteCat extends Cat{ private static String color1="whrite"; public void showColor(){ System.out.println("whitecat: "+color1); } public static void showStaColor(){ System.out.println("whitecat: "+color1); } } public class Test { public static void main(String[] args) { Cat wc=(Cat)(new WhriteCat()); wc.showColor(); wc.showStaColor(); } } 请写出以上代码的结果: 知道的可回一下。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-01-30
whitecat:whrite
whitecat:whrite |
|
返回顶楼 | |
发表时间:2008-01-30
想想没有那么简单,我测试了一下,其实是:
whitecat: whrite cat: donot know 想了一下想明白了,静态函数与类关联,与对象无关。 |
|
返回顶楼 | |
发表时间:2008-08-19
这个应用还是很基础的
类的多态和类的静态成员 非静态方法的取决于对象 静态的方法取决于引用类,与对象无关 |
|
返回顶楼 | |
发表时间:2008-08-20
这样的话,把
Cat wc=(Cat)(new WhriteCat()); 改成: Cat wc=new WhriteCat(); 结果是一样的了。那何必要类型转换啊? |
|
返回顶楼 | |
发表时间:2008-08-20
whitecat: whrite
cat: donot know public static void main(java.lang.String[]); Code: Stack=2, Locals=2, Args_size=1 0: new #2; //class WhriteCat 3: dup 4: invokespecial #3; //Method WhriteCat."<init>":()V 7: astore_1 8: aload_1 9: invokevirtual #4; //Method Cat.showColor:()V 12: aload_1 13: pop 14: invokestatic #5; //Method Cat.showStaColor:()V 17: return |
|
返回顶楼 | |
发表时间:2008-08-21
应该是考 先静态 然后 非静态那个~~ 忘记了
|
|
返回顶楼 | |