public class A {
public int a =0;
public void pa()
{
System.out.println(a);
}}public class B extends A{
public void pa()
{
System.out.println(a);
a++;
super.pa();}}public class TestProblem {
public static void main(String[] args) {
new B().pa();
}
 
子类变化会影响父类?高人详细指点啊

解决方案 »

  1.   

    传不了A B C D E F 将ABCDEF分别比喻成一个内存空间。
    比如说:
    声明父类,占用AB的内存空间。声明子类,不仅要占用AB(父类)的内存空间,还要占用CDE的内存扩展空间。(ABCDE合起来才是一个完整的子类,如果改变了父类的属性,其实就是对AB空间的操作)
      

  2.   

    为什么传不了我没听懂啊,父类的AB和子类的AB是何关系,是同一个的话就应该能传啊
      

  3.   

    我的错,没讲清楚。
    单独的new 父类,空间可能在AB中,
    单独new 子类,空间在JKXYZ中,其中JK是存放父类的,XYZ是存放子类的。
    就是所,new的时候,会单独的开辟一块空闲的,没有被占用的内存。第一次new 父类,开辟一个空间。
    第二次new 子类,开辟另一个空间。
    两个空间没有任何的重叠....
      

  4.   

    对,
    记住new的对象1与new 的对象2是完全不相关的。
    就像卡车和小汽车,都有发动机,但是发动机不一样。