java的一点趣事

来源:互联网 发布:淘宝女童模特图片 编辑:程序博客网 时间:2024/04/30 11:11

先看一下这个例子,看看会输出什么结果:

class base{private int i=22;public void display(){System.out.println(i);}public base(){display();//System.out.println(this.getClass().toString());}}class sub extends base{private int i=100;public void display(){System.out.println(i);}public sub(){display();}}public class test {public static void main(String arg[]){sub s=new sub();}}


结果是:0 100;

是不是很神奇,这个0可是从来没出现,怎么不是22,或者100,却是个0?

再看看这个吧:

class base{private int i=22;public void display(){System.out.println(i);System.out.println(this.getClass().toString());}public base(){display();}}class sub extends base{private int i=100;public void display(){System.out.println(i);}public sub(){display();}}public class test {public static void main(String arg[]){sub s=new sub();}}


结果还是:0 100;疑惑吗?再看看下面这个吧,应该就有点明白了

class base{private int i=22;public void display(){System.out.println(i);}public base(){display();System.out.println(this.getClass().toString());}}class sub extends base{private int i=100;public void display(){System.out.println(i);}public sub(){display();}}public class test {public static void main(String arg[]){sub s=new sub();}}


结果是:0 class sub 100;