第四周课程总结及实验报告

实验二 Java简单类与对象
•实验目的
•掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
•理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
•理解static修饰付对类、类成员变量及类方法的影响。
•实验内容
1.写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:

(1) 使用构造函数完成各属性的初始赋值

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

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

实验代码

package text2;

public class Rectangle {
	private double width;
	private double height;
	private String color;
	
	
	public Rectangle(double width, double height, String color) {
		this.width = width;
		this.height = height;
		this.color = color;
	}


	public double getWidth() {
		return width;
	}


	public void setWidth(double width) {
		this.width = width;
	}


	public double getHeight() {
		return height;
	}


	public void setHeight(double height) {
		this.height = height;
	}


	public String getColor() {
		return color;
	}


	public void setColor(String color) {
		this.color = color;
	}
	
	public double getArea() {
		return width*height;
	}
	
	public double getLength() {
		return (width+height)*2;
	}
	

}
package text2;

public class Text2 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Rectangle per=null;
		per=new Rectangle(5,10,"red");
		System.out.println(""+per.getWidth());
		System.out.println("height:"+per.getHeight());
		System.out.println("color:"+per.getColor());
		System.out.println("面积:"+per.getArea());
		System.out.println("周长:"+per.getLength());
	}

}

运行结果

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

实验代码

package text3;

import java.util.Scanner;
import java.util.Date;

public class Account {
	
	private String id;
	private String name;
	private Date date;
	private int password;
	private int money;
	
	public Account(String id, String name, int money) {
		super();
		this.id = id;
		this.name = name;
		this.money = money;
		this.date = new Date();
		this.password = 123456;
	}



	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void jin(int num) {
		this.money = this.money+num;
	}

	public void chu(int num) {
		this.money = this.money-num;
	}
	
	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}

	public int getMoney() {
		return money;
	}

	public void setMoney(int money) {
		this.money = money;
	}
	
	public int getPassword() {
		return password;
	}

	public void setPassword(int password) {
		this.password = password;
	}



	public void mima() {
		Scanner sc=new Scanner(System.in);
	    int password=sc.nextInt();
	    this.password = password;
	    sc.close();
	   
	}
	

	

}
package text3;

public class Text3 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Account per=null;
		per=new Account("happyday123","Alice",0);
        per.jin(2000);
        per.chu(500);
        per.mima();
	    System.out.println("标识符:"+per.getId());
		System.out.println("姓名:"+per.getName());
		System.out.println("日期:"+per.getDate());
		System.out.println("余额:"+per.getMoney());
		System.out.println("密码:"+per.getPassword());

	}

}

运行结果

实验过程

在这次实验的过程中加深了对于构造方法的理解,和对于getter和setter的了解,对于第一个题目,做起来还好,但是第二个题目,知道要干嘛但不知道怎么下手,这是还是对于类不是特别明白的原因,还有构造方法,但是还是学到了不少,例如date,对于日期的一个写法,还有就是改变密码的值,但也不是完全理解了。继续加油吧

总结:

本周主要是学习了String类

一、学习了两种为String赋值的方法;
1)

String str="Alice";
String str=new String("Alice");

二、String里的“==”是进行地址之间的比较,而不能直接比较内容,如果要比较内容需要需要使用到方法。public boolean equals(String str);
三、String一旦定义了,他的内容不可改变。
四、有关String里的一些方法。

还有学习了对象数组

类 对象数组名称[]=new 类[数组长度]
数据类型 数组名称[]=null;
数组名称=new 数据类型[长度];

包的基本概念,用法

包的定义:package 包名称.子包名称;
编译的时候要如下

javac -d . 名称.java

类的导入主要用 import.

import 包名称.子包名称.类名称;或
import 包名称.子包名称.*;    //自动加载所需类

还了解Java的常用系统包。

原文地址:https://www.cnblogs.com/H-Alice/p/11532326.html