当前位置:首页 > java类的封装实验报告
实验四、类的封装
一、实验目的
1. 掌握类的声明和定义;
2. 理解有静态成员和非静态成员变量的区别; 3. 理解基本参数和引用参数的区别; 4. 掌握类构造方法的编写;
5. 实现类的方法; 6. 掌握创建类实例的方法;
7. 学会定义和使用具有重载方法的继承类; 8. 掌握方法的重新定义。
二、实验内容
1.以下程序运行的结果是。 运行结果 初始时 x=10, y=10 方法调用中 x=100, y=100 方法调用后 x=100, y=100 public class sy4_1 {
public static void main(String[] args) { Power p=new Power(); p.ff2(10,10);
System.out.println(\方法调用后 x=\ } }
class Power{ int x=10, y=10; void ff2(int passX, int passY){ System.out.println(\初始时 x=\ x=passX*passX; y=passY*passY; System.out.println(\方法调用中 x=\ } }
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) { }
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()); this.year=y; this.month=m; this.day=d;
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() { }
public int getNo() { }
public void setNo(int no) { }
public String getName() { }
public void setName(String name) { }
public int getAge() {
return age; this.name = name; return name; this.no = no; return no; count++;
}
}
public void setAge(int age) { }
public String toString() {
return (\学号: \+this.no+\姓名: \+this.name+\年龄: \+this.age); }
this.age = age;
4. 定义一个类实现银行账户的概念。包括的属性有“账号”、“储户姓名”、“开户时间”和“存款余额”等信息,包括的方法有“存款”、“取款”、“查询余额”和“显示账号信息”。编写一测试类,创建两个不同的账户类的对象,并分别完成存款、取款、查询余额、显示账号等操作。
public class C_s { }
class YHZH {
private String NO; private String name; private double leftMoney; private String time; } /**
* @param args */
public static void main(String[] args) {
// TODO Auto-generated method stub YHZH y1=new YHZH();
y1.setName(\张三\);
y1.setNO(\); y1.setLeftMoney(2000.51); y1.setTime(\);
y1.CX(); y1.Ck(500); y1.Qk(200);
System.out.println(y1.toString());
共分享92篇相关文档