PTA——JAVA 定义类与创建对(定义一个类Person,定义name和age属性,定义有参的构造方法对name和age进行初始化。)

定义一个类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()来进行创建空对象的操作的。
所以只能挑选自己做的构造方法进行创建对象

发布了32 篇原创文章 · 获赞 6 · 访问量 1544

猜你喜欢

转载自blog.csdn.net/Pan_ZC/article/details/104865008