基础作业:
1.新建一个Computer类、一个MobilePhone类,类中的属性、方法(除get、set外的其他方法)、构造函数可自己定义。
2.重写Computer类、MobilePhone类中的toString方法
3.重写Computer类中的equal方法和MobilePhone中的equal方法,比较规则可自定义。
4.新建一个Run类,类中有一个main方法,在Main方法中做如下测试
4.1 创建两个Computer对象和两个MobilePhone对象
4.2 调用两个Computer对象的toString方法,两个MobilePhone对象的toString方法,并在控制台输出。
4.3 获取两个Computer对象的对象类型(getClass),两个MobilePhone对象的对象类型(getClass),并在控制台输出。
4.4 使用equals方法对两个Computer对象和两个MobilePhone对象进行比较(Computer和Computer比,MobilePhone和MobilePhone比)。
4.5 任意挑选两个基本数据类型,创建出各自的包装类型。
4.6 将String类型的字符串,转化为Integer类型的数字。
4.7 将Integer类型的数组转为String类型的字符串
加强作业:
1.Computer类中和MobilePhone类中必须都有“是否可以上网”属性和“品牌”属性,重写Computer类和MobilePhone类中的equal方法,如果是Computer与Computer比较,则按照基础作业3进行比较,如果是Computer与MobilePhone比较,则比较“品牌”和“是否可以上网”是否一样,一样则返回true,不一样则返回false。在Run方法中比较Computer与MobilePhone,并在控制台输出比较结果。
手机类
package textC;
/**
* 手机类
*
* @author zkj
*
*/
public class MobilePhone {
// 品牌
private String brand;
// 电池容量
private String battery;
// 屏幕尺寸
private String screen;
// 能否上网
private String online;
public MobilePhone(String brand, String battery, String screen, String online) {
this.brand = brand;
this.battery = battery;
this.screen = screen;
this.online = online;
}
/*
* 覆写toString方法 (non-Javadoc)
*
* @see java.lang.Object#toString()
*/
public String toString() {
return "品牌:" + brand + "电池容量:" + battery + "屏幕尺寸:" + screen;
}
/*
* 覆写equals方法 (non-Javadoc)
*
* @see java.lang.Object#equals(java.lang.Object)
*/
public boolean equals(Object obj) {
MobilePhone m = (MobilePhone) obj;
if (obj.getClass() != this.getClass()) {
return false;
} else {
return m.getBrand().equals(this.brand) && m.getScreen().equals(this.screen);
}
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getBattery() {
return battery;
}
public void setBattery(String battery) {
this.battery = battery;
}
public String getScreen() {
return screen;
}
public void setScreen(String screen) {
this.screen = screen;
}
}
电脑类
package textC;
/**
* 电脑类
*
* @author zkj
*
*/
public class Computer {
// 品牌
private String brand;
// 中央处理器
private String cpu;
// 内存
private String memory;
// 能否上网
private String online;
public Computer(String brand, String cpu, String memory, String online) {
this.brand = brand;
this.cpu = cpu;
this.memory = memory;
this.online = online;
}
/*
* 覆写toString方法(non-Javadoc)
*
* @see java.lang.Object#toString()
*/
public String toString() {
return "品牌:" + brand + "中央处理器:" + cpu + "能否上网:" + online;
}
/*
* 覆写equals方法(non-Javadoc)
*
* @see java.lang.Object#equals(java.lang.Object)
*/
public boolean equals(Object obj) {
if (obj.getClass() != this.getClass()) {
return false;
} else {
Computer c = (Computer) obj;
return c.getBrand().equals(this.brand) && c.getCpu().equals(this.cpu);
}
}
public String getBrand() {
return brand;
}
public void setBrand(String brand) {
this.brand = brand;
}
public String getCpu() {
return cpu;
}
public void setCpu(String cpu) {
this.cpu = cpu;
}
public String getMemory() {
return memory;
}
public void setMemory(String memory) {
this.memory = memory;
}
public String getOnline() {
return online;
}
public void setOnline(String online) {
this.online = online;
}
}
运行类
package textC;
/**
* 运行类
*
* @author zkj
*
*/
public class Run {
public static void main(String[] args) {
// 创建对象c1c2
Computer c = new Computer("戴尔", "i5-7300HQ", "16G", "YES");
Computer c2 = new Computer("戴尔", "i5-7300HQ", "16G", "YES");
// 输出c1c2的toString()
System.out.println(c.toString());
System.out.println(c2.toString());
// 输出c1c2的getClass()
System.out.println(c.getClass());
System.out.println(c2.getClass());
// 比较c1c2是否相等
System.out.println("c1是否等于c2:" + (c.equals(c2)));
// 创建对象m1m2
MobilePhone m = new MobilePhone("华为P20pro", "3400", "5.8", "YES");
MobilePhone m2 = new MobilePhone("iphoneX", "2800", "5.6", "YES");
// 输出m1m2的toString()
System.out.println(m.toString());
System.out.println(m2.toString());
// 输出m1m2的getClass()
System.out.println(m.getClass());
System.out.println(m2.getClass());
// 比较m1m2是否相等
System.out.println("m1是否等于m2:" + (m.equals(m2)));
// 创建两个数据
Integer a = 1000;
String b = "1000";
// 将String类型的字符串,转化为Integer类型的数字。
System.out.println(Integer.parseInt(b));
// 将Integer类型的数组转为String类型的字符串
System.out.println(String.valueOf(a));
}
}