我不得不做一个Java程序说:
在java中编写程序以实现继承。您的程序应具有以下结构
- 创建一个Base类来保存两个Integers和一个显示它们的方法。
- 在派生类中添加另一个Integer并显示它。
- 在同一派生类中创建一个方法以添加三个数字。
- 将值传递给整数并显示结果。
醇>
我并不擅长Java,所以我不知道我所做的是对还是错,或者是什么!而且我想我不太明白什么是想要的。以下是我提出的建议:
public class firstclass {
int a=5;
int b=6;
public void Display (){
System.out.println(a+b);
}
}
public class secondclass extends firstclass {
int z=0;
public void Displaysecond (){
System.out.println(z);
}
public void add (){
z=a+b;
System.out.println(z);
}
}
public class mainOne {
public static void main(String[] args) {
firstclass call = new firstclass();
secondclass call2 = new secondclass();
call.Display();
call2.Displaysecond();
call2.add();
}
}
它运行没有任何问题,但我得到“11”表示“System.out.println(a + b);”而a = 5和b = 6 我能正确地解决这个问题吗?
答案 0 :(得分:3)
一切看起来都不错,除了:
3. Create a method in the same derived Class to add the three numbers.
public void add ()
{
z=a+b;
System.out.println(z);
}
该方法添加a和b但是将其放入z中。并且它不会返回任何内容,所以它应该是这样的:
public int add ()
{
return a+b+z;
}
然后在主要内容你应该有:
System.out.println(call2.add());
答案 1 :(得分:3)
你有一些问题。正如Grammin所说,你的添加功能不是你老师想要的。你的老师想要你a,b和z。所以
public void add(){
int sum = a + b + z;
System.out.println(sum);
}
或者,您可以void add()
int add()
并返回sum
。
其次,您不遵循Java约定。你的变量需要更不恰当地命名,你的类需要以大写字母开头,你的方法需要以小写字母开头。
也许您应该将您的类命名为FirstClass,SecondClass和MainClass?
您的方法:display(),displaySecond()和add()
您的变量:a,b,c或num1,num2,num3。 (为了保持一致)
另外,call.display()应该产生与call2.display()相同的结果,因为SecondClass是FirstClass的子类。阅读this以更好地理解继承。
附注:如果您正在进行某种在线数学运算,您应该在括号()中添加数字以便澄清和安全。例如
public void display(){
System.out.println((a + b));
}
而不是
public void display(){
System.out.println(a+b);
}