Java 完成类定义
假设您获得了以下PetDriver类,其中包括一个main方法:Java 完成类定义,java,constructor,variable-assignment,Java,Constructor,Variable Assignment,假设您获得了以下PetDriver类,其中包括一个main方法: public class PetDriver{ public static void main(String[] args){ int weight = 40; Pet doggie = new Pet("Rover", weight); System.out.println("my pet's name is " + doggie.getName()); System.out.println(
public class PetDriver{
public static void main(String[] args){
int weight = 40;
Pet doggie = new Pet("Rover", weight);
System.out.println("my pet's name is " + doggie.getName());
System.out.println("my pet's weight is " + doggie.getWeight());
}
}
执行main生成以下输出:
我的宠物叫罗孚我的宠物的体重是40 我的代码如下,但返回null
public class pet {
public String name;
public int weight = 40;
public Pet (String y, int x){
y = name;
x = weight;
}
public String getName(){
return name;
}
public int getWeight(){
return weight;
}
}
谢谢 在构造函数中,您应该以另一种方式执行:
public Pet (String y, int x){
name = y; // instead of y = name
weight = x; // instead of x = weight
}
您所做的是将成员值赋给构造函数的参数,而不是反过来。因此,从未写入成员值
name
本身,因此在构造函数中它是null
,您应该以另一种方式执行此操作:
public Pet (String y, int x){
name = y; // instead of y = name
weight = x; // instead of x = weight
}
您所做的是将成员值赋给构造函数的参数,而不是反过来。因此,从未写入成员值
name
本身,因此它是null
您的构造函数没有将值分配给属性。将它们更改为以下内容
public Pet (String y, int x){
name = y;
weight = x;
}
您的构造函数没有为属性赋值。将它们更改为以下内容
public Pet (String y, int x){
name = y;
weight = x;
}