定义一个类Person,定义name和age属性,定义有参的构造方法对name和age进行初始化。在测试类中创建该类的2个对象,姓名、年龄分别为lili、19和lucy、20,在屏幕打印出2个对象的姓名和年龄。
输入格式:
本题目无输入
输出格式:
在一行中输出一个人的姓名和年龄
输出样例:
在这里给出相应的输出。例如:
this person is lili,her age is 19
this person is lucy,her age is 20
很简单的一个题,由于对新建对象的赋值过程理解的不到位,导致题目卡了十多分钟才搞明白。代码如下
class Person{
String name;
int age;
Person(String n,int a){
name = n;
age=a;
}
}
public class Main{
public static void main(String args[]){
Person p1 = new Person("lili",19);
Person p2 = new Person("lucy",20);
System.out.println("this person is "+p1.name+
",her age is "+p1.age);
System.out.print("this person is "+p2.name+
",her age is "+p2.age);
}
}
对于p1和p2对象的创建上,开始时写的错误代码是:
Person p1 = new Person();
Person p2 = new Person();
p1 = Person("lili",19);
p2 = Person("lucy",20);
企图先建立空对象调用缺省构造方法对对象进行赋值
原因是对实例化创建对象过程不够理解,犯下这样的错误。
因为我已在Person类中构造了有参方法。所以不存在缺省构造方法了
所以
Person p1 = new Person();
是无法找到Person()来进行创建空对象的操作的。
所以只能挑选自己做的构造方法进行创建对象