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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值