java 类的继承,子类变量的获取
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 类的继承,子类变量的获取相关的知识,希望对你有一定的参考价值。
java 类的继承,子类变量的获取class a extends b{
int x;
}
class b{
int x;
}
list<b> lb;
lb.add(new a());
lb.get(0).x表示的是b中的x,怎么用这种形式表示b的儿子a中的x呢?因为有很多小的类继承大的类,要用for访问。list调用函数是调用a中的 但是变量确实b中的。该怎么办呢。。
谢谢
本视频主要从Java语言基础、JavaSE核心、WEB全栈及数据库、Servlet/Jsp核心、 Java框架五个阶段进行讲解。在本教程中,会让大家从零基础快速掌握Java知识。想要配套学习资料的小伙伴可以联系我哦!
参考技术A 在a中重定义int x=某值;就可以了。专业名叫重定义追问
嗯嗯
就是,子类函数可以覆盖父类的函数,那变量能不能也覆盖呢
可以
参考技术B 重定义追问啊?啥意思
父类的成员变量赋了值,子类继承该变量,值还是父类的值吗?
还有子类赋值给父类变量,在父类里这个变量值会变吗
一般你不在子类中重载构造函数 子类成员变量初始化的就是父类的值 参考技术A 当然是父类值,子类没赋值是null的第二个的问题:肯定不会啦。
你问题很奇葩,题目本身有错,很多时候要按实际情况看的本回答被提问者采纳 参考技术B 不会,因为变量属于个人的属性,子类对象的属性和父类对象的属性不属于同一个 参考技术C 1. 假设父类叫father,son是father的直接子类, 两个类里面都有一个叫age的成员变量。创建实例对象后,这两个age其实是在不同的内存空间里的,是分别独立的。比如在father中可以对age赋值50,在son中可以对age赋值25。那么在son类中,这样的语句 int a = age, 那么这个a是25,如果写 int a = father.age 或者 int a = super.age, 那么a是50.
2. 如果子类能够访问父类(包括但不限于father里面的这个变量前不能有private,final修饰词,java权限控制还是比较严格的),那么子类可以修改父类的变量值,通过 super.age = 100, 就可以改变father里面age的值,不过这并不是一个好的编程习惯。 参考技术D 1.不是了。
2.不会。
以上是关于java 类的继承,子类变量的获取的主要内容,如果未能解决你的问题,请参考以下文章