java最终变量问题

weixin_43401696 2019-03-24 10:05:26
问一下这个子类的num2 为什么不报错呢?不是最终变量不能被改写么?
...全文
105 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
刘蕘 2019-03-24
  • 打赏
  • 举报
回复
引用 6 楼 weixin_43401696的回复:
[quote=引用 5 楼 qq_38834405的回复:][quote=引用 4 楼 weixin_43401696的回复:][quote=引用 3 楼 qq_38834405的回复:]你把int去掉试试,你int表示重新创建了一个叫num2的临时变量
那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?[/quote] 这个为什么报错呢,你又没有去修改[/quote]
引用 4 楼 weixin_43401696的回复:
[quote=引用 3 楼 qq_38834405的回复:]你把int去掉试试,你int表示重新创建了一个叫num2的临时变量
那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?[/quote] 这个为什么报错呢,你又没有去修改[/quote] 说错了,是子类的。。[/quote] 你子类int num2等于又定义了一次,这次没有用fina修饰,所以不会报错(应该没错: (
weixin_43401696 2019-03-24
  • 打赏
  • 举报
回复
引用 5 楼 qq_38834405的回复:
[quote=引用 4 楼 weixin_43401696的回复:][quote=引用 3 楼 qq_38834405的回复:]你把int去掉试试,你int表示重新创建了一个叫num2的临时变量
那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?[/quote] 这个为什么报错呢,你又没有去修改[/quote]
引用 4 楼 weixin_43401696的回复:
[quote=引用 3 楼 qq_38834405的回复:]你把int去掉试试,你int表示重新创建了一个叫num2的临时变量
那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?[/quote] 这个为什么报错呢,你又没有去修改[/quote] 说错了,是子类的。。
刘蕘 2019-03-24
  • 打赏
  • 举报
回复
引用 4 楼 weixin_43401696的回复:
[quote=引用 3 楼 qq_38834405的回复:]你把int去掉试试,你int表示重新创建了一个叫num2的临时变量
那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?[/quote] 这个为什么报错呢,你又没有去修改
weixin_43401696 2019-03-24
  • 打赏
  • 举报
回复
引用 3 楼 qq_38834405的回复:
你把int去掉试试,你int表示重新创建了一个叫num2的临时变量
那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?
刘蕘 2019-03-24
  • 打赏
  • 举报
回复
你把int去掉试试,你int表示重新创建了一个叫num2的临时变量
weixin_43401696 2019-03-24
  • 打赏
  • 举报
回复
public class Zi extends Fu {
int num2 = 19;
public void show(){

int num2 = 12;
}
}
weixin_43401696 2019-03-24
  • 打赏
  • 举报
回复
public class Fu {
public final int num2 = 10;

public void show() {

System.out.println("www");
}
}
weixin_43401696 2019-03-24
  • 打赏
  • 举报
回复
引用 7 楼 qq_38834405的回复:
[quote=引用 6 楼 weixin_43401696的回复:][quote=引用 5 楼 qq_38834405的回复:][quote=引用 4 楼 weixin_43401696的回复:][quote=引用 3 楼 qq_38834405的回复:]你把int去掉试试,你int表示重新创建了一个叫num2的临时变量
那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?[/quote] 这个为什么报错呢,你又没有去修改[/quote]
引用 4 楼 weixin_43401696的回复:
[quote=引用 3 楼 qq_38834405的回复:]你把int去掉试试,你int表示重新创建了一个叫num2的临时变量
那父类成员变量num2不是存在于堆内存中么?这个不是临时变量啊,怎么没报错呢?[/quote] 这个为什么报错呢,你又没有去修改[/quote] 说错了,是子类的。。[/quote] 你子类int num2等于又定义了一次,这次没有用fina修饰,所以不会报错(应该没错: ([/quote] 嗯,明白了,谢谢您啊,第一次用这个,那个50分怎么给你啊

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧