赵纾寻  
a special world

实验二 Java简单类与对象

实验目的

掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
理解static修饰付对类、类成员变量及类方法的影响。

实验内容

1.写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:
(1) 使用构造函数完成各属性的初始赋值

(2) 使用get…()和set…()的形式完成属性的访问及修改

(3) 提供计算面积的getArea()方法和计算周长的getLength()方法

实验源码:

package second;
public class Rectangle {
	private double width;	
	private double heigth;
	private String color;
	//生成无参数的构造函数
	public Rectangle() {	
		
	}
	
	//生成带两个参数的构造函数
	public Rectangle(double width, double heigth) {     
		this.width = width;
		this.heigth = heigth;
	}
	//生成带三个参数的构造函数
   public Rectangle(double width, double heigth,String color) {
		this.width = width;
		this.heigth = heigth;
		this.color=color;
	}
	//获取宽的值
	public double getWidth() {
		return width;
	}
	//修改宽的值
	public void setWidth(double width) {
		this.width = width;
	}
	
	public double getHeigth() {
		return heigth;
	}
	
	public void setHeigth(double heigth) {
		this.heigth = heigth;
	}
	
	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}
	/**
	 * 计算面积的方法
	 * @return 面积
	 */
	public double getArea() {
		return this.getHeigth()*this.getWidth();
		
	}
	/**
	 * 计算周长的方法
	 * @return 周长
	 */
	public double getLength() {
		return (this.getHeigth()+this.getWidth())*2;
		
	}
	public static void main(String[] args) {
		Rectangle tets=new Rectangle(20,40,"红色");
		System.out.println("宽:"+tets.getWidth()+" 高:"+tets.getHeigth()+" 颜色:"+tets.getColor());
		System.out.println("面积:"+tets.getArea());
		System.out.println("周长:"+tets.getLength());
		tets.setHeigth(30);
		System.out.println();
		System.out.println("修改高后的结果:");
		System.out.println("宽:"+tets.getWidth()+" 高:"+tets.getHeigth()+" 颜色:"+tets.getColor());
		System.out.println("面积:"+tets.getArea());
		System.out.println("周长:"+tets.getLength());
	}
}

实验结果:

2.银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,开户日期,账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。

实验源码:

package second;

public class Account {
	
	private String id;//唯一标识码
	private String username;//用户姓名
	private String date;//开户日期
	private int password;//用户密码
	private double count;//当前余额
	/**
	 * 带三个参数的构造函数
	 * @param id 唯一标识码  
	 * @param password 用户密码 
	 * @param date 开户日期
	 */
	public Account(String id, int password ,String date) {

		this.id = id;
		this.date = date;
		this.password = password;
	}
	/**
	 * 存钱的方法
	 * @param money 要存的钱
	 */
	public void save(double money) {
		this.count=this.getCount()+money;
	}
	/**
	 * 取钱的方法
	 * @param money 要取的钱
	 */
	public void fetch(double money) {
		this.count=this.getCount()-money;
	}
	
	/**
	 * 
	 * @return 用户所有信息
	 */
	public String inof() {
		return "账户标识:" +this.getId() + "\n客户姓名:" + this.getUsername()+ "\n账户密码:" + this.getPassword() + "\n开户时间:" +this.getDate() + "\n账户余额:"
				+ this.getCount();
	}
	
	/**
	 * 查询账户的标识
	 * @return 账户的标识
	 */
		public String getId() {
			return id;
		}
		
		/**
		 * 查询账户的姓名
		 * @return 账户的姓名
		 */
	public String getUsername() {
		return username;
	}

	/**
	 * 修改账户的姓名
	 * @param username 账户的姓名
	 */
	public void setUsername(String username) {
		this.username = username;
	}
	
	/**
	 * 查询开户日期
	 * @return 返回开户日期
	 */
	public String getDate() {
		return date;
	}
	
	/**
	 * 查询账户密码
	 * @return 账户密码
	 */
	public int getPassword() {
		return password;
	}
	
	/**
	 * 修改账户密码
	 * @param password 新密码
	 */
	public void setPassword(int password) {
		this.password = password;
	}
	
	/**
	 * 查询账户余额
	 * @return 账户余额
	 */
	public double getCount() {
		return count;
	}

实验结果:

实验过程:

第一题还行,大致把老师讲的都结合起来了。先生成有无参数的构造函数,再通过get和set获取和修改参数的值。第二题的话,是我能力有限。看别人写的超全面,给我写的话得琢磨好久估计。第二题的日期,怎么直接调用系统日期还是有点困难。

课程总结:

1.String类
①两种实例化方法(例给name赋值zy):直接赋值(String name= "zy");直接调用String类的构造方法(String name=new String("zy"))。
②两种比较内容方法:“==”,“equals()”(将内容进行比较)。
③:String类中常用方法(jdk中可查看)。
④注意:字符串就是一个String类的匿名对象;使用String类声明后的字符串内容不可改变。
⑤ps:replace可作为替换或删除(per=per.replace(" "," "));for循环(for(char e:c))。
2.数组
一维数组的声明与分配内存:申明:数据类型 数组名称[ ]=null 或 数据类型[ ] 数组名称=null; 分配内存:数组名称=new 数据类型[长度];

学习总结:

每上一次李津老师的课,就像打开了新世界的大门。零零碎碎的知识点很多,不知道怎么记住,应该是多做题就熟悉了吧。

posted on 2019-09-20 18:17  赵纾寻  阅读(161)  评论(0编辑  收藏  举报