把java学完之后有開始了一遍突然发现对于继承还是不太理解所以就做了一个測试来分析一下
<span style="font-size:18px;">class A{ public A(){ sys(); } int a=1; String ss="hello"; public void fun(){ test(); } public void test(){ System.out.println("这是一个測试方法"+a); } public void sys(){ System.out.println("输出的结果是"+a); } } class B extends A{ int a=2; public B(){ //sys(); } public void fun(){ test(); } /* public void test(){ System.out.println("这是B类的结果"); } */ public void sys(){ System.out.println("BBBBBBBBBBB"); } } public class ExtendsTest{ public static void main(String[] args){ B b=new B(); b.test(); } }</span>代码尽管不多可是我感觉彻底弄懂不easy呀,所以写出来大家来看看,
一起分析分析
class A{ public A(){//构造方法 sys();//方法 } int a=1; String ss="hello"; public void fun(){ test(); } public void test(){ System.out.println("这是一个測试方法"+a); } public void sys(){ System.out.println("输出的结果是"+a); } } class B extends A{ int a=2; public B(){ //sys(); } //public void fun(){ // test(); //} public void test(){ System.out.println("这是B类的结果"+a); } public void sys(){ System.out.println("BBBBBBBBBBB"); } } public class ExtendsTest{ public static void main(String[] args){ B b=new B(); b.fun(); //System.out.println(A); System.out.println(b); } }
这是我写的分析图,因为水平有限,希望有问题的地方可以指出,谢谢啦
这是执行后的结果