A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© wx_Zdt18Ww6 中级黑马   /  2016-4-11 10:30  /  939 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

class Fu{
        final static int age = 1;
       
}

class Zi extends Fu{
         int age = 2;       
}
如上代码   子类继承了父类的age  为什么还能声明age变量  而不算同名变量   求解答

9 个回复

正序浏览
你这是子父类中声明了相同名字的变量,是两个变量.你把Zi中的int去掉,就该报错了
回复 使用道具 举报
被final,修饰的变量是常亮
回复 使用道具 举报
董改名 发表于 2016-4-11 17:21
应该可以,覆盖和重写差不多吧

ok        多谢了
回复 使用道具 举报
董改名 发表于 2016-4-11 17:21
应该可以,覆盖和重写差不多吧

ok  多谢了
回复 使用道具 举报
董改名 发表于 2016-4-11 13:52
子类确实继承了父类的成员变量a的值,但是子类中又定义了一下a变量,相当于父类的成员被覆盖了,所以不能 ...

可以理解为重写变量吗
回复 使用道具 举报
董改名 发表于 2016-4-11 11:10
final修饰的成员和成员变量,可以被继承。

子类继承父类 我举个例子
class Fu{
        int        a = 1;
}

class Zi{
        int a = 2;
}
为什么这样写  ,而不是在子类中直接 a = 2;   
这样写不相当于在同一类中{ int a = 1; int a = 2;}吗       我是这个问题
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马