打印Java构造函数的值
我是一名java初学者,我正在努力适应对象。我是否可以在main中打印构造函数的值?我怎样才能打印出20岁的凯文?谢谢打印Java构造函数的值,java,Java,我是一名java初学者,我正在努力适应对象。我是否可以在main中打印构造函数的值?我怎样才能打印出20岁的凯文?谢谢 public class MainConstructor { public static void main(String[] args) { ConstructorClass emp1 = new ConstructorClass("Kevin", 20); } } //构造函数类 public class ConstructorClas
public class MainConstructor {
public static void main(String[] args) {
ConstructorClass emp1 = new ConstructorClass("Kevin", 20);
}
}
//构造函数类
public class ConstructorClass {
private String name;
private int number;
public ConstructorClass(String name, int number) {
this.name = name;
this.number = number;
System.out.println("called");
}
}
将toString()
方法添加到ConstructorClass
:
public String toString() {
return name + "," + number;
}
然后从main
调用此命令:
public static void main(String[] args) {
ConstructorClass emp1 = new ConstructorClass("Kevin",20);
System.out.println(emp1.toString());
}
构造器基本上只是另一种方法(但出于对神圣事物的热爱,在面试时,甚至对你的教授都不要这样说),所以这样做没有错:
public class ConstructorClass {
private String name;
private int number;
public ConstructorClass(String name, int number) {
this.name = name;
this.number = number;
System.out.println(name+" "+number);
}
}
但这个解决方案真的很难看,有点“热固定”。更好的解决方案是让构造函数只获取值,并使用单独的方法打印所需内容:
public ConstructorClass(String name, int number) {
this.name = name;
this.number = number;
}
void printNameAndNumber() {
System.out.println(name+" "+number);
}
在你的主要课程中使用这样的课程
ConstructorClass c = new ConstructorClass("John",85)
c.printNameAndNumber();
还有一些人喜欢通过循环和重写ToString
来处理这个问题,但这太过分了,在您的情况下(或任何其他原始情况下)实际上没有任何好处。尝试在类中使用ToString()
public String toString() {
return this.name + "," + this.number;
}
在您的主要任务中,只需执行
emp1.toString()
将其打印到控制台如果要正确打印这些值,应该在方法中设置getter方法
下面的例子
public String getName(){
return name;
}
public int getNumber(){
return number;
}
然后要打印这些值,您应该使用方法toString()和方法print()来显示您的值
范例
public String toString(){
return getName() + " " + getNumber();
}
public void print(){
System.out.println(toString());
}
ConstructorClass emp1 = new ConstructorClass("Kevin",20);
emp1.print();
然后在带有main方法的类中,为该特定类调用print方法
范例
public String toString(){
return getName() + " " + getNumber();
}
public void print(){
System.out.println(toString());
}
ConstructorClass emp1 = new ConstructorClass("Kevin",20);
emp1.print();
希望对您有所帮助,请欣赏:)
System.out.println(name+”,“+number)代码>您还可以实现getter/setter moethods…您可以在类中实现以下方法:public void print(){System.out.println(name+”,“+number)},然后调用emp1.print();谢谢你的帮助。emp1.toString()
我想相当于emp1
。谢谢你的帮助。谢谢你的帮助。谢谢你的帮助。谢谢你的帮助。谢谢你的帮助。emp1.toString()
和emp1
有什么区别吗?我想你可以做emp1.toString();或System.out.println(emp1);(在控制台中打印)应该是一样的。由于toString是一个类的默认打印值,所以您只会覆盖它,所以更改该类的输出。