//封装的对象
/**
* 简单介绍: 构造函数与类同名,
* 构造函数没有返回值,也不用加上void
* 构造函数支持方法的重载,也就是可以拥有多个同名的构造函数,但是,构造函数须拥有不同的参数类型与参数个数
*
*
*/
public class Student2 {
//类变量:老师编号
public static String teacherNo = "T100";
//类变量:学生人数
private static int count = 0;
private int stdno;
private double test1,test2,test3;
public Student2(int no,double t1,double t2,double t3){
stdno = no;
this.test1 = t1;
this.test2 = t2;
this.test3 = t3;
count++; //学生人数加一
}
//类方法:返回学生的个人
public static int getStudent2Count(){
return count;
}
//成员方法,计算平局
private double getAverage(){
return (test1 + test2 + test3) / 3;
}
//成员方法:显示学生数据
public void printStudent2(){
//显示学生的基本和成绩数据
System.out.println("====学生数据===================");
System.out.println("学生学号: " + stdno);
System.out.println("学成成绩(1): " + test1);
System.out.println("学成成绩(2): " + test2);
System.out.println("学成成绩(3): " + test3);
System.out.println("成绩平均: " + getAverage());
}
}
//主程序
public class Ch7_6 {
public static void main(String[] args) {
//声明Student2类类型的变量,并且创建对象
Student2 std1 = new Student2(1, 68.0, 88.0, 56.0);
Student2 std2 = new Student2(2, 75.0, 46.0, 90.0);
System.out.println("老师编号(Student2): " + Student2.teacherNo);
//调用对象方法
std1.printStudent2();
std2.printStudent2();
//显示学生人数
System.out.println("学生人数(std1): " + std1.getStudent2Count());
System.out.println("学生人数(std2): " + std2.getStudent2Count());
System.out.println("学生人数(Student2): " + Student2.getStudent2Count());
Student2.teacherNo = "T101"; //更新老师编号
std1.teacherNo = "T102";
System.out.println("老师编号(std1): " + std1.teacherNo);
System.out.println("老师编号(std2): " + std2.teacherNo);
System.out.println("老师编号(Student2): " + Student2.teacherNo);
}
}