private int grades;
private String name;
public int getage(){
return grades;
}
public void setgrades(int grades) {
if(grades<0&&grades>100)
System.out.println("你输入的成绩错误");
else
this.grades=grades;
}
public String getname() {
return name;
}
public void setname(String name) {
this.name=name;
}
public void speak() {
System.out.println("姓名:"+name+",成绩:"+grades);
}
public Student(int grades,String name) {
this.name=name;
this.grades=grades;
}
}
public class Exmple01 {
public static void main(String[] args) {
// TODO 自动生成的方法存根
Student p1= new Student();
p1.setname("张三");
p1.setgrades(99);
p1.speak();
Student p2 =new Student(99,"张三");
}
}
这个是我自己写的 是错的
无参构造是一个类中默认的构造方法,在你写的例子中已经有了一个构造方法了,所以这个默认的构造方法就无效了,如果需要这个无参构造。需要手动添加这个无参构造,所以Student中加入下面代码就不报错了。
public Student(){}
题目的意思是让你使用两种构造方法,一种是有参构造,创建对象时直接传入对象参数,比如说人的名字。第二种是使用无参构造,创建对象后使用对象的set方法修改已创建的person对象的name属性。