java如何在子类中赋值给父类的变量

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java如何在子类中赋值给父类的变量相关的知识,希望对你有一定的参考价值。

java如何在子类中赋值给父类的变量而其他子类变量值也改变
例如,父类是Test1,,子类为Test2和Test3,,,父类中有个变量public static int a,,如何在Test2中改变a的值,让Test3直接打印a就是Test2中a的值。

使用super关键字就可以了,比如:
父类里的ele属性
如果是public的直接super.ele="abc";
但如果是private的,并有set方法就调用set方法
super.setEle("abc");
参考技术A 用super关键字啊
比如你父类又一个int的实例变量i
在子类里用
super.i=10;
这样就行
希望对你能有所帮助。本回答被提问者和网友采纳
参考技术B java中通过extends(继承),完成子,父类关系.
子类可以继承父类没有用private修饰的成员变量.
如父类中有一变量:public int a;
那么在子类中,通过语句a=xxx; 就可以给该变量赋值了.
参考技术C public static int a;这是全局变量,不管继不继承只要在text2中写Text1.a = 55;这样就改变了,Test3的打印语句必须在Test2赋值语句后面执行才有效65追问

我的意思是在Test3中直接System.out.println(a)

让a为Test2中的直

追答

我知道啊,因为public static int a;这个是全局变量啊,所以在在text2中写Text1.a = 55;执行完后

Text3的System.out.println(a);打印出来的就是55

追问

这样不行,,,我试过了

要不你写个代码给我看看,,,,

追答

写好了,可以啊,因为你写的是全局变量其实可以不用继承的,如果不用全局变量的话,test2中的Test1.a = 55改为super.a = 55;一样可以用

参考技术D Test1 a是public的类变量,Test2可直接调用 Test1.a = xxx即可改变a值,Test3可直接取Test1.a值追问

这个貌似不行吧,我试过了

java编程,关于父类子类变量赋值问题,和方法调用

Vehicle类的基础上创建一个Tractor(拖拉机)类,他不但拥有journey,wheelNum,loadNum,driveSpeed 四种属性和driveAt()方法,而且还拥有自己的plough(耕地)方法,在该方法中要求能够显示journey, wheelNum, loadNum三个属性的值,在Tractor中覆盖driverAt()方法在这个类中还要创建一个main()方法,分别调用plough()、driveAt方法和Vehicle类的driverAt()方法。

在main方法中用父类实例化子类即可(向下转型——多态)
Tractor tra=null;
tra=new Vehicel();
tra.plugh();
tra.driveAt(50)追问

Vehicle v=new Tractor();
v.plugh();
v.driveAt(50);
我这么写的话,v能调用子类的plugh和driveAt方法么,编译时候老是有无法识别字符是设么意思啊

追答

错误具体出现在哪行有提示的,请复制具体错误信息看看;
你的源码中Vehicel.v(好像多了个点);
这样写,v只能调用子类覆写的driveAt();
Vehicle v=new Tractor();
v.plugh();
v.driveAt(50); //调用的实际为子类覆写过的方法

追问

谢谢啊,我将程序最后三行改为
Tractor tra=new Tractor();
tra.plugh();
tra.driveAt(50);有3个错误都是cannot resolve symbol。分别是第二个类Tractor中的driveSpeed=20;driveSpeed=speed;还有最后的tra.plugh,指向中间的点,说是不能识别method 披plugh()。如果

参考技术A 无法识别的字符~~你代码是拷的吧
把所有空格删了,还有标点符号都改成半角的

以上是关于java如何在子类中赋值给父类的变量的主要内容,如果未能解决你的问题,请参考以下文章

Java多态之向下转型

父类对象与子类对象相互转化的条件是啥?如何实现它们的相互转化?

Java:父类对象为啥能转换成子类对象

父类的成员变量赋了值,子类继承该变量,值还是父类的值吗?

如何给一个CTime类型的对象赋值

如何给父类和子类赋值