课程:类和对象的学习
主要学习内里:
1.实现三个类Teachers,Students,School的编写以及他们的属性的定义,方法定义。
2.创建以上三个类的对象,并通过“对象.属性=赋值”给相应的属性赋值。
3.属性的调用及方法的实现:
属性调用:对象.属性
方法调用:对象.方法
4.构造方法的使用:
①定义构造方法:Teacher类中构造方法写成:public void Teacher(){}
②构造方法的使用:(调用构造方法必须用new Teacher(参数))
1.不带参的构造方法Teacher th1=new Teacher();
调用:默认在new创建对象时会调用无参构造方法。
2.带参的构造方法Teacher th1=new Teacher(String name);
调用:有带参构造方法则必须调用一个
可以:Teacher th1=new Teacher();
th1=new Teacher(String name);
th1=new Teacher(int age);
即:可以先创建一个th1对象,再用th1=new ...来调用构造函数,可以多次new调用不同的构造函数(即构造函数的重写的使用)
5.对象数组的使用
①Teacher th[]=new Teacher[10] 定义对象数组的长度
②th[i]=new Teacher() 初始化(调用构造函数)【实例化】
③th[i].属性 th[i].方法 属性方法的调用
代码:(Teacher,Students,Schools三个类和一个主类(创建对象,调用对象方法,属性))public class Students {
String name;
int age;
String point;
String sex;
String add;
int tall;
boolean isStaySchool;
public void show(){
System.out.println("姓名是:"+name);
System.out.println("性别是:"+sex);
System.out.println("年龄(岁):"+age);
System.out.println("爱好是:"+point);
System.out.println("家庭住址是:"+add);
}
//打印传进来的课程
public void study(String course){
System.out.println("正在学习课程:"+course);
}
}
public class Teacher {
String name;
String sex;
int workAge;
int workNo;
String add;
int age;
String holdClass;
public void show(){
System.out.println("姓名:"+name);
System.out.println("性别:"+sex);
System.out.println("工作年龄:"+workAge);
System.out.println("退休年龄:"+workNo);
System.out.println("家庭住址:"+add);
}
//打印正在教授的课程
public void teach(String course) {
System.out.println("正在讲授课程:"+course);
}
}
public class School {
String name;
String add;
int peopleNum;
int workAge;
Scanner scanner=new Scanner(System.in);
// Students students[];
// Teacher teacher[];
public void show() {
System.out.println("学校情况:");
System.out.println("学校名称:"+name);
System.out.println("开设年限:"+workAge);
System.out.println("学生人数:"+peopleNum);
System.out.println("学校地址:"+add);
}
public void creatStudents(int num) {
System.out.println("成功招生"+num+"人:");
System.out.println("依次输入"+num+"名学生的姓名:");
Students students[]=new Students[num];
for(int i=0;i<num;i++){
students[i]=new Students();
students[i].name=scanner.next();
}
for(int i=0;i<num;i++){
System.out.println(students[i].name);
}
}
public void creatTeacher(int num) {
System.out.println("新加入"+num+"个老师:");
Teacher teacher[]=new Teacher[num];
for(int i=0;i<num;i++){
teacher[i]=new Teacher();
teacher[i].name="老师"+i;
System.out.println(teacher[i].name);
}
}
}
public class ClassMain {
public static void main(String[] args) {
Students st1=new Students();
Teacher th1=new Teacher();
School sc1=new School();
//学生信息值
st1.name="李涛";
st1.age=16;
st1.sex="男";
st1.point="打篮球";
st1.add="成都市人民南路三段1号时代数码广场";
//教师信息值
th1.name="李霞";
th1.sex="女";
th1.workAge=12;
th1.workNo=55;
th1.add="成都市一环路南二段九如村25号";
//学校信息值
sc1.name="成都市第七中学";
sc1.workAge=20;
sc1.peopleNum=3600;
sc1.add="成都市锦江区林荫中街1号";
//分别调用方法来显示学生,老师,学校的基本信息
st1.show();
st1.study("数学");
System.out.println("\n");
th1.show();
th1.teach("数学");
System.out.println("\n");
sc1.show();
//在School的对象sc1中动态创建Students和Teachaer的对象数组
sc1.creatStudents(5);
sc1.creatTeacher(3);
}
}