实验二 Java简单类与对象
实验目的
掌握类的定义,熟悉属性、构造函数、方法的作用,掌握用类作为类型声明变量和方法返回值;
理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实例的方法和属性;
理解static修饰付对类、类成员变量及类方法的影响。
实验内容
一、写一个名为Rectangle的类表示矩形。其属性包括宽width、高height和颜色color,width和height都是double型的,而color则是String类型的。要求该类具有:
(1) 使用构造函数完成各属性的初始赋值
(2) 使用get…()和set…()的形式完成属性的访问及修改
(3) 提供计算面积的getArea()方法和计算周长的getLength()方法
1、实验代码
public class new1{
private double width, height;
private String color;
public new1(double width, double height, String color) {
this.setWidth(width);
this.setHeight(height);
this.setColor(color);
}
public new1() {
// TODO Auto-generated constructor stub
}
public void setWidth(double width) {
this.width = width;
}
public void setHeight(double height) {
this.height = height;
}
public void setColor(String color) {
this.color = color;
}
public double getWidth() {
return width;
}
public double getHeight() {
return height;
}
public String getColor() {
return color;
}
public double getArea() {
return this.width*this.height;
}
public double getGetlength() {
return (this.height+this.width)*2;
}
public static void main(String[] args) {
new1 a=null;
a = new new1();
a.width=7.0;
a.height=8.0;
System.out.println(+a.getArea());
System.out.println(+a.getGetlength());
}
}
2、实验结果
二、银行的账户记录Account有账户的唯一性标识(11个长度的字符和数字的组合),用户的姓名,开户日期,账户密码(六位的数字,可以用0开头),当前的余额。银行规定新开一个账户时,银行方面提供一个标识符、账户初始密码123456,客户提供姓名,开户时客户可以直接存入一笔初始账户金额,不提供时初始余额为0。定义该类,并要求该类提供如下方法:存款、取款、变更密码、可以分别查询账户的标识、姓名、开户日期、当前余额等信息。
1、实验代码
import java.util.Date;
import java.util.Scanner;
class new2{
private String id,name,password;
private Date date;
private double balance;
public new2() {
}
public new2(String id,String name,double balance) {
this.setId(id);
this.setName(name);
this.date=new Date();
this.password="123456";
this.setBalance(balance);
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public Date getDate() {
return date;
}
public String getPassword() {
return password;
}
public double getBalance() {
return balance;
}
public void setId(String i) {
id=i;
}
public void setName(String n) {
name=n;
}
public void setDate(Date d) {
date=d;
}
public void setPassword(String p) {
password=p;
}
public void setBalance(double b) {
balance=b;
}
public void cunqian(double money) {
this.balance=this.balance+money;
}
public void quqian(double money) {
this.balance=this.balance-money;
}
public Date date() {
return date;
}
public void changepassword() {
@SuppressWarnings("resource")
Scanner sc=new Scanner(System.in);
System.out.println("输入账号:");
@SuppressWarnings("unused")
String password=sc.nextLine();
}
public static void main(String[] args) {
new2 a=new new2("123456789","钟敏亮",1000);
a.cunqian(1000);
a.quqian(500);
a.changepassword();
a.date();
System.out.println("账户标识:"+a.getId());
System.out.println("姓名:"+a.getName());
System.out.println("开户日期:"+a.date());
System.out.println("当前余额:"+a.getBalance());
}
}
2、实验结果
三、本周总结
1)、实例化String类对象有两种一种是直接赋值的方式进行操作,另一种是直接调用String类中的构造方法。
2)、对基本数据类型(例如int型变量)可以通过“==”进行内容的比较。
3)、String类中常用方法
4)、字符串的内容不可改变
这是字符串特别重要的特性,字符串的内容一旦声明则不可改变。
我们在对一个String对象的内容进行的改变实际上是通过内存地址的“断开”和“连接”变化完成的,而字符串中的内容没有任何变化。
5)、对象数组
数组一定要先开辟空间;并且数组里面的每一个对象都是null值,所以在使用的时候数组中的每一个对象必须分别进行实例化。
6)、包的概念:
包的概念,包是在使用多个类或接口时,为了避免名称重复而采用的一种措施。如果使用,直接在程序中加入package关键字即可。
7)、import语句
定义:如果将几个类存放在不同的包中,则在使用类的时候就必须通过import语句导入。
格式:import 包名称.子包名称.类名称,import 包名称.子包名称.*;