面向对象练习(2)
目录
1.模拟计算器
定义计算类:
package dh021;
//简易计算器
public class Calc {
//两个整数
public void add(int num1,int num2) {
int sum = num1 + num2;
System.out.println(num1+"+"+num2+"="+sum);
}//两个浮点数相加
public void add(double num1,double num2) {
double sum = num1 + num2;
System.out.println(num1+"+"+num2+"="+sum);
}//三个浮点数相加
public void add(double num1,double num2,double num3) {
double sum = num1 + num2 + num3;
System.out.println(num1+"+"+num2+"+"+num3+"="+sum);
}
}
测试:
package dh021;
//测试类
public class TestCalc {
public static void main(String[] args) {
Calc calc =new Calc();
calc.add(5, 5);
calc.add(1.0, 3.0);
calc.add(1.0, 3.0, 6.0);
}
}
2.显示信息
定义信息类:
package dh021;
//Person类
/**
*
* @author XXX
* 编写Java程序用于显示人的姓名和年龄。
定义一个人类Person该类中应该有两个私有属性姓名name和年龄age。
定义构造方法用来初始化数据成员。
再定义显示display方法将姓名和年龄打印出来。
在main方法中创建人类的实例然后将信息显示
*/
public class Person {
// 私有name和age
private String name;
private int age;
// 构造方法,获得name,age的值。
public Person(String name,int age) {
this.name = name;
this.age = age;
}
// 定义所需要的方法
public void display() {
System.out.println("姓名:"+this.name+"\t年龄:"+this.age);
}
}
测试:
package dh021;
//测试类
public class TestPerson {
public static void main(String[] args) {
Person person = new Person("张三", 18);
person.display();
}
}
3.重载无名粉
定义无名类:
package dh021;
/**
*
* @author XXX 3.构造方法与重载 为“无名的粉”写一个类class WuMingFen 要求: 1.有三个属性 面码:String theMa
* 粉的分量(两) int quantity 是否带汤 boolean likeSoup 2.写一个构造方法 以便于简化初始化过程 如
* WuMingFen f1 = new WuMingFen(“牛肉”,3,true); 3.重载构造方法 使得初始化过程可以多样化
* WuMingFen f2 = new WuMingFen(“牛肉”,2); 4.如何使得下列语句构造出来的粉对象是酸辣面码、2两、带汤的
* WuMingFen f3 = new WuMingFen(); 5.写一个普通方法 check() 用于查看粉是否符合要求。即
* 将对象的三个属性打印在控制台上
*
*/
//WuMingFen类
public class WuMingFen {
String theMa;//面码
int quantity;//粉的分量(两)
boolean likeSoup;//是否带汤
// 2.写一个构造方法 以便于简化初始化过程 如 WuMingFen f1 = new WuMingFen(“牛肉”,3,true);
public WuMingFen(String theMa,int quantity,boolean likeSoup) {
this.theMa = theMa;
this.quantity =quantity;
this.likeSoup = likeSoup;
}
// 3.重载构造方法 使得初始化过程可以多样化 WuMingFen f2 = new WuMingFen(“牛肉”,2);
public WuMingFen(String theMa,int quantity) {
this.theMa = theMa;
this.quantity =quantity;
}
// 4.如何使得下列语句构造出来的粉对象是,酸辣面码、2两、带汤的 WuMingFen f3 = new WuMingFen();
public WuMingFen() {
this.theMa="酸辣面码";//面码
this.quantity = 2;//粉的分量(两)
this.likeSoup = true;//是否带汤
}
// 5.写一个普通方法 check() 用于查看粉是否符合要求。即 将对象的三个属性打印在控制台上
public void check() {
System.out.println(this.theMa+"\t"+this.quantity+"\t"+this.likeSoup);
}
}
测试:
package dh021;
public class TestWuMingFen {
public static void main(String[] args) {
WuMingFen wmf = new WuMingFen("牛肉",3,true);
wmf.check();
WuMingFen wmf1 = new WuMingFen("牛肉",3);
wmf1.check();
WuMingFen wmf2Fen = new WuMingFen();
wmf2Fen.check();
}
}
4.重载网络信息
定义网络类:
package dh021;
/**
*
* @author XXX 4.定义一个网络用户类 要处理的信息有 用户ID、用户密码、email地址。 在建立类的实例时
* 把以上三个信息都作为构造函数的参数输入 其中用户ID和用户密码时必须的 缺省的email地址是用户ID加上字符串”
*/
public class Internet {
String ID;// ID
int pwd;// 密码
String email;// email
public Internet(String ID, int pwd, String email) {
this.ID = ID;
this.pwd = pwd;
this.email = email + "@.com";
}
public Internet(String ID, int pwd) {
this.ID = ID;
this.pwd = pwd;
}
public Internet() {
this("xxx", 999);
this.email = this.ID + "@.com";
}
// show
public void show() {
System.out.println("用户:" + this.ID + " " + "密码:" + this.pwd + " " + "email:" + this.email);
}
}
测试:
package dh021;
//测试类
public class TestInternet {
public static void main(String[] args) {
// 实例化
Internet internet = new Internet("yjz", 888, "这是一个测试");
internet.show();
//
Internet internet1 = new Internet();
internet1.show();
}
}