java实验三

2020-03-26 20:02

实验三 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());

+\年

} } }

2、定义一个类用以实现求最大值、次大值。 package chapter13;

public class Chp12_1 {

private int firstmax;//最大值 private int secondmax;//次大值 int t; //set/get方法

public void setFirstMax(int firstmax){ this.firstmax=firstmax; }

public int getFirstMax(){ return firstmax; }

public void setSecondMax(int secondmax){ this.secondmax=secondmax; }

public int getSecondMax(){ return secondmax; }

public int getFMax(int number[]){//对数组排序 for(int i=1;i

for(int j=0;jnumber[j+1]){ t=number[j];

number[j]=number[j+1]; number[j+1]=t; } } }

return number[number.length-1]; }

public int getSMax(int number[]){ for(int i=1;i

for(int j=0;jnumber[j+1]){ t=number[j];

number[j]=number[j+1]; number[j+1]=t; } } }

return number[number.length-2]; } }

package chapter13;

public class Chp12_2 {

public static void main(String[] args) {

} }

3、定义一个教师类、一个课程类。 教师类:

package chapter14;

public class Teacher {//教师类

private String name;//姓名 private String srt;//职称 private double money;//工资 private double src;//工龄

Chp12_1 pp= new Chp12_1();//创建一个对象 int N[]={10,12,22,5,24,6,8,9,36,11}; pp.setFirstMax(pp.getFMax(N));

System.out.println(\最大值为:\+pp.getFirstMax()); pp.setSecondMax(pp.getSMax(N));

System.out.println(\次大值为:\+pp.getSecondMax());

//set/get方法

public Teacher() {

this.money = money; }

public String getName() { return name;


java实验三.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:烂尾楼处置中的法律尽职调查 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: