我必须做一个Java程序,说:
用Java编写一个程序来实现继承。您的程序应具有以下结构
创建一个基类来容纳两个Integer和一个显示它们的方法。
在派生的类中添加另一个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();
}
}
它运行没有问题,但是“ System.out.println(a + b);”为“ 11”。而a = 5和b = 6。
我能正确处理吗?
最佳答案
你有几个问题。正如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。 (为了保持一致)
另外,因为SecondClass是FirstClass的子类,所以call.display()的结果应与call2.display()相同。阅读this可以更好地理解继承。
旁注:如果要进行某种形式的在线数学运算,则应在括号()中添加数字以阐明和确保安全。例如
public void display(){
System.out.println((a + b));
}
代替
public void display(){
System.out.println(a+b);
}