问一下这个子类的num2
为什么不报错呢?不是最终变量不能被改写么?

解决方案 »

  1.   

    public class Fu {
    public final int num2 = 10; public  void show() {

    System.out.println("www");
    }
    }
      

  2.   

    public class Zi extends Fu {
    int num2 = 19;
    public void show(){

    int num2 = 12;
    }
    }
      

  3.   

    你把int去掉试试,你int表示重新创建了一个叫num2的临时变量
      

  4.   

    那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?
      

  5.   

    那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?
    这个为什么报错呢,你又没有去修改
      

  6.   

    那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?
    这个为什么报错呢,你又没有去修改
    那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?
    这个为什么报错呢,你又没有去修改
    说错了,是子类的。。
      

  7.   

    那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?
    这个为什么报错呢,你又没有去修改
    那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?
    这个为什么报错呢,你又没有去修改
    说错了,是子类的。。
    你子类int num2等于又定义了一次,这次没有用fina修饰,所以不会报错(应该没错: (
      

  8.   

    那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?
    这个为什么报错呢,你又没有去修改
    那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?
    这个为什么报错呢,你又没有去修改
    说错了,是子类的。。
    你子类int num2等于又定义了一次,这次没有用fina修饰,所以不会报错(应该没错: (
    嗯,明白了,谢谢您啊,第一次用这个,那个50分怎么给你啊