内容发布更新时间 : 2024/12/23 14:45:33星期一 下面是文章的全部内容请认真阅读。
实验三 Java面向对象基础
一、实验目的与要求
1、掌握面向对象的基本概念,掌握类定义的方法、对象的创建、访问; 2、熟练掌握、深刻理解构造方法的概念、含义、作用、调用时机等; 3、掌握几个关键字的特征及用法:static、this; 4、深刻理解和掌握方法重载; 5、了解类的权限、成员的权限。 二、实验原理
在面向对象程序设计中,类是有属性和方法组成的一个程序单元。属性表示了类的数据,而方法表示了类的行为。
在面向对象程序设计中,对象被称做类的一个实例,而类是对象的模板。由于对象是类的实例,因此在定义对象之前应先定义类。在定义类之后,然后在类的基础上创建对象。
构造方法是类的一种特殊方法,它的特殊性体现在: 1.构造方法名与类名相同; 2.不能对构造方法指定类型; 3.构造方法可以重在;
4.如果用户未定义该类的构造方法,系统将为该类定一个默认的构造方法。
三、预习与准备
掌握基本的概念及原理,明确实验任务和目的,准备实验的源代码。 四、实验内容
第1题属于基本概念题,第2题属于对面向对象思想的理解和应用。第1、3题将为下一章做准备,建立类之间的关系。
1、定义一个学生类,要求如下:
(1)类名是Student;
(2)该类包含3个属性:学号sID,姓名sName,年龄sAge;
(3)给各个属性设置set\\get方法,合适的访问权限; (4)定义缺省的构造方法; (5)定义合适的重载的构造方法; (6)重写toString( ) 方法;
(7)定义一个表示人数的静态成员变量,用以对学号进行自动增加赋值; (8)创建数组对象(多个学生)。
2、定义一个类用以实现求最大值、次大值。必须使用面向对象的思想。 提示:定义类时,可以提供多种样式的构造方法。譬如:自动随机生成数组,人为提供数组;使用方法getFMax( )、getSMax( )来求解最大次大值;考虑是否需要提供这两个的属性对应的成员变量。
3、定义一个教师类、一个课程类。
五、实验过程
1、定义一个学生类
package chapter12;
public class Student {
private String sID; //学号 private String sName; //姓名 private int sAge; //年龄 private int number=1; public Student(){ }//定义空构造方法
public Student(String sID,String sName,int sAge){//定义
有重载的构造方法
this.sID=sID;
this.sName=sName; this.sAge=sAge; number++;
}
//创建get/set方法 public String getsID(){ return sID; }
public void setsID(String sID){ this.sID=sID; }
public String getsName(){ return sName; }
public void setsName(String sName){ this.sName=sName; }
public int getsAge(){ return sAge; }
public void setsAge(int sAge){ this.sAge=sAge; }
public String toString(){
return \学号:\+sID+\+\姓名:\+sName+\龄:\+sAge;
}
}
package chapter12; public class Chp_1 {
public static void main(String[] args) { Student std[]=new Student[4];//创建对象数组 std[0]=new Student(\,\张三\,20); std[1]=new Student(\,\王五\,21); std[2]=new Student(\,\李四\,19); std[3]=new Student(\,\香相\,22); for(int i=0;i System.out.println(std[i].toString()); +\年