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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 无法识别的字符~~你代码是拷的吧
把所有空格删了,还有标点符号都改成半角的

关于C++父类与子类之间变量的问题

假如父类有两个变量,父类有两个子类继承这两个变量,现在我想让这两个子类中继承的变量变为静态的该怎么办呢,而且在这两个子类在继承父类变量时赋值的都不一样

参考技术A 不可以改变继承的变量的控制权限,从静态变成局部,从局部变成静态,即使是public和protected,也只能从高到低。 参考技术B #include<stdio.h>
class father

public:
int a,b;
;

class sn1 :public father

public:
static int a;
static int b;
;

int sn1::a = 10;
class sn2 :public father

public:
static int a;
static int b;

;
int main()
sn1 m_sn1; printf("[%d] \n",m_sn1.a);

return 0;

输出:[10]
你可以试一下。本回答被提问者和网友采纳

以上是关于java编程,关于父类子类变量赋值问题,和方法调用的主要内容,如果未能解决你的问题,请参考以下文章

java中,子类能调用父类中所有方法、对象吗?是不是父类也能调用子类所有……?

关于C++父类与子类之间变量的问题

关于Java多态

Java中this和super关键字

java的多态

java 类继承,父类子类方法调用的过程