第3章课后作业

第1题   简述封装的定义,步骤和好处

答:封装就是将类的状态信息隐藏在类的内部,不允许外部程序直接访问,而通过该类提供的方法来实现对隐藏信息的操作和访问.具体步骤:1,修改类属性的访问权限.2,创建setter(赋值)和getter(取值)的方法.3,在getter中加入对属性的存取控制语句.封装的好处就是让使用者只能通过程序规定的方法来访问数据,隐藏类的实现细节,方便加入存取控制语句,限制不合理的操作.

第2题   指出代码中存在的错误,并说明错误原因

类Teacher2中的方法不是构造方法,所以下面的main()方法中实例化对象不能传参,修改方法要么去掉viod,要么去掉实参.    

第3题   指出代码中存在的错误,并说明错误原因

public int a(String s1,String s2) {} 无return返回

public void a(int i, String s) {}与private void a(int i,String mystring) {}方法名相同,形参的类型和个数都相同

第4题   编写类Student1和测试类Student1Test

class Student1 {
private String name;
private int avg;
public void setAvg(String name,int avg) {
this.name = name;
this.avg = avg;
}
public void getMeg() {
if(avg>16) {
System.out.println("我的名字是:"+name+"年龄是:"+avg);
}else {
System.out.println("年龄不达标");
}
}

}

import java.util.Scanner;
public class Student1Test{
public static void main(String[] args) {
Student1 s1 = new Student1();
Scanner in = new Scanner(System.in);
System.out.print("请输入姓名:");
String name = in.next();
System.out.print("请输入年龄:");
int avg = in.nextInt();
s1.setAvg(name, avg);
s1.getMeg();
}

}

第5题 编写类Student2和测试类Student2Test

class Student2 {
private String name;
private int avg;
private String sex;
private String subject;
public Student2(String name,int avg) {
this.name = name;
this.avg = avg;
this.sex = "男";
this.subject = "Java";
}
public Student2(String name,int avg,String sex,String subject) {
this.name = name;
this.avg = avg;
this.sex = sex;
this.subject = subject;
}
public void show() {
System.out.println("我的名字叫"+name+",今年"+avg+"岁,性别是"+sex+",学习的专业是:"+subject);
}

}

import java.util.Scanner;
public class Student2Test {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.print("请输入姓名:");
String name = in.next();
System.out.print("请输入年龄:");
int avg = in.nextInt();
Student2 s2 =new Student2(name, avg);
s2.show();
System.out.print("请输入姓名:");
String name1 = in.next();
System.out.print("请输入年龄:");
int avg1 = in.nextInt();
System.out.print("请输入性别:");
String sex = in.next();
System.out.print("请输入专业:");
String subject = in.next();
Student2 s3 =new Student2(name1, avg1, sex, subject);
s3.show();
}
}

猜你喜欢

转载自blog.csdn.net/weixin_41880408/article/details/80055899