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 类的继承,子类变量的获取的主要内容,如果未能解决你的问题,请参考以下文章

基础知识——java 类的继承重载与重写

子类可以继承父类的啥

子类可以继承父类的啥

Java 继承与重写重载

子类继承父类怎么在父类的方法中访问子类的变量

子类从父类继承过来的方法可以操作子类自己定义的成员变量吗