我有一个带变量initial_Age的构造函数
public Person(int initial_Age) {
if(initial_Age<0){
age=0;
}
我想在其他方法中使用initial_Age,但它给出错误(变量未初始化)
public void amIOld() {
if(this.initial_Age>0){
age=this.initial_Age;
}
我该怎么办?
答案 0 :(得分:1)
尝试做这样的事情:
private int initial_Age;
public Person(int initial_Age) {
this.initial_Age =initial_Age;
if(initial_Age<0){
age=0;
}
您可以在initial_Age
班级的任何地方使用Person
。
答案 1 :(得分:0)
回答你的问题。
public class Person {
private int age;
public Person(int initialAge) {
this.age = Math.max(initialAge, 0);
}
public boolean amIOld() {
return this.age > 0;
}
}
这样一个人的年龄是不变的。你需要改变逻辑。