java类的封装实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四、类的封装

一、实验目的

1. 掌握类的声明和定义;

2. 理解有静态成员和非静态成员变量的区别;

3. 理解基本参数和引用参数的区别;

4. 掌握类构造方法的编写;

5. 实现类的方法;

6. 掌握创建类实例的方法;

7. 学会定义和使用具有重载方法的继承类;

8. 掌握方法的重新定义。

二、实验内容

1.以下程序运行的结果是。

public class sy4_1 {

public static void main(String[] args) {

Power p=new Power();

p.ff2(10,10);

System.out.println("方法调用后x="+p.x+", y="+p.y);

}

}

class Power{

int x=10, y=10;

void ff2(int passX, int passY){

System.out.println("初始时x="+x+", y="+y);

x=passX*passX;

y=passY*passY;

System.out.println("方法调用中x="+x+", y="+y);

}

}

2.建立日期类及日期对象的简单引用,程序结构如下,写出完整代码。public class MyDate0 //声明日期类

{ int year, month, day; //成员变量

void set(int y, int m, int d) { ... } //成员方法,设置日期

public String toString() { … } //成员方法返回中文日期public static void main(String args[]) // 主方法

{

….//创建日期对象d1

….//显示d1 的中文日期

….//设置d1 的成员变量为今天日期

….//显示设置后d1 的中文日期

} // end main

} // end class

//代码如下:

package com.text;

public class MyDate {

int year,month,day;

void setDate(int y,int m,int d)

{

this.year=y;

this.month=m;

this.day=d;

}

public String toString()

{

return (this.year+"年"+this.month+"月"+this.day+"日");

}

public static void main(String[] args) {

// TODO Auto-generated method stub

MyDate d1=new MyDate();

System.out.println(d1.toString());

d1.setDate(2014, 9, 17);

System.out.println(d1.toString());

}

}

3.创建学生类Student来完成下面问题。

(1)创建类Student,包括属性学号no、姓名name和年龄age,且都是private类型;

(2)声明一个构造方法,以初始化对象的所有的域;

(3)声明获得各属性(学号、姓名和年龄)的各个方法;

(4)声明设置各属性(学号、姓名和年龄)的各个方法;

(5)声明一个public型的toString方法,将该类所有域信息组合成一个字符串;

(6)声明统计创建Student对象的个数的成员变量count和得到Student对象的个数的方法。

在主类中使用Student类创建两个Student对象,输出对象所有域信息;修改其姓名和年龄,并显示。

//代码如下:

package com.text;

public class Demo4 {

/**

*@param args

public static void main(String[] args) {

// TODO Auto-generated method stub

Student s1=new Student();

Student s2=new Student();

System.out.println("对象个数:"+Student.count);

s1.setAge(16);

s1.setName("小米");

s1.setNo(20145);

s2.setAge(17);

s2.setName("小S");

s2.setNo(20144);

System.out.println(s1.toString());

System.out.println(s2.toString());

}

}

class Student

{

private int no;

private String name;

private int age;

static int count;

public Student()

{

count++;

}

public int getNo() {

return no;

}

public void setNo(int no) {

this.no = no;

}

public String getName() {

return name;

}

public void setName(String name) {

= name;

}

public int getAge() {

return age;

相关文档
最新文档