一、实验预热
1、访问修饰符中,范围最小和范围最大的访问修饰符是哪两个,并且请问如果要封装类中的属性,使用哪个访问修饰符?
1)Private最小,Public最大
2)使用private
2、简述成员变量和局部变量的区别。
成员变量在类中使用,局部变量在类中的方法中使用。
3、如果成员变量和局部变量同名(或者说产生冲突),局部变量和成员变量哪个将被哪个覆盖。
局部变量将被成员变量覆盖
4、Java中包的作用是什么?
管理类。
5、使用其他包中的类,有哪两种方式?
import java.util.Scanner;
java.util.Scanner scanner = new java.util.Scanner(System.in);
6、构造方法与普通方法最大的区别在于?
只有构造方法才能被new,用于生成实例对象,分配内存空间等。
普通方法是不能被new的,可以通过对象名来调用,在对象有内存空间后可以处理变量和调用其它方法。
7、构造方法的核心作用是什么?
完成对象的初始化。
8、使用this实现构造方法之间的调用时,应当注意哪些问题?
至少有一个构造方法中不使用this关键字。
二、实验内容
1、编写一个雇员的类,里面包含有雇员的编号、姓名、职位、基本工资、佣金,要求如下:
1)类名称必须存在有意义;
2)类中的所有属性必须使用private修饰,并必须提供有setter()和getter();
3)至少提供两个构造方法;
4)类中不允许出现任何输出语句,所有信息输出必须交给被调用处(main方法)输出;
5)类中需要提供一个取得对象完整信息的方法。
代码:
package leif.tests;
import java.util.Scanner;
public class ExperimentalReport {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
Employee employee = new Employee("YT00775", "Leif Liu", "软件开发工程师", 7000, 500);
System.out.println(employee.toString());
scanner.close();
}
}
class Employee {
private String id;
private String name;
private String position;
private double pay;
private double commission;
public Employee() {}
public Employee(String id, String name, String position, double pay, double commission) {
this.id = id;
this.name = name;
this.position = position;
this.pay = pay;
this.commission = commission;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPosition() {
return position;
}
public void setPosition(String position) {
this.position = position;
}
public double getPay() {
return pay;
}
public void setPay(double pay) {
this.pay = pay;
}
public double getCommission() {
return commission;
}
public void setCommission(double commission) {
this.commission = commission;
}
@Override
public String toString() {
return "Employee [id=" + id + ", name=" + name + ", position=" + position + ", pay=" + pay + ", commission=" + commission + "]";
}
}
结果截图:
image.png