前面学习了Java中的类的相关知识,这里通过几个简单的案例来进一步熟悉内容分
案例1:Dog类
属性:颜色,品种,姓名,年龄
方法:咬人,吃饭
class Dog {
private String name; // 狗的名字
private String color; // 狗的颜色
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
private int age; // 狗的年龄
private String type; // 狗的品种
// 构造方法
public Dog() {}
public Dog(String name, String color, int age, String type) {
this.name = name;
this.age = age;
this.color = color;
this.type = type;
}
// setter gette 方法
public String getColor() {
return color;
}
public void setColor(String color) {
this.color = color;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
// 咬人
public void bark() {
System.out.println(this.color + "色的" + this.name + "咬人了!!!");
}
// 吃饭
public void eat() {
System.out.println(this.color + "色的" + this.name + "开始吃狗粮了!!!");
}
}
public class Demo {
public static void main(String[] args) {
Dog dog1 = new Dog("小花", "斑点", 2, "中华田园犬");
Dog dog2 = new Dog("小黑", "黑", 4, "阿拉斯加");
dog1.bark();
dog2.eat();
}
}
案例3:Book类
属性:名字,编号,售价,库存
方法:显示书本的库存
class Book {
private String bookName; // 书名
private long bookNo; // 编号
private double price; // 价格
private static int count = 0; // 库存
public Book(String bookName, long bookNo, double price) {
this.bookName = bookName;
this.bookNo = bookNo;
this.price = price;
Book.count++;
}
// setter, getter 方法省略
// 获的库存
public static int getCount() {
return Book.count;
}
}
public class Demo {
public static void main(String[] args) {
for (int i = 0; i < 5; i++) {
new Book("book"+i, (long)(100*i), 19.99);
}
System.out.println("书籍的库存为:" + Book.getCount());
}
}
案例2:员工(Employee)类
定义一个Employee类
属性:编号、姓名、年纪,固定薪水(5000)、固定增长率(0.2),年资, 实际增长率,实际薪资。
包含方法
- 计算实际增长率(固定正增长率+0.15*年资)
- 计算当前工资增长额度
- 计算增长后的工资总额,并更新薪资
class Employee {
private long empno; // 编号
private String name; // 姓名
private int age; // 年龄
private int hireYear = 0; // 年资
private static double baseSalary = 5000.00; // 固定薪水
private static double baseRate = 0.2; // 固定增长率
private double realRate; // 实际增长率=0.04*hireYear + baseRate
private double realSalary; // 实际薪资 = baseSalary * (1 + realRate)
// 构造方法
public Employee(String name, long empno, int age, int hireYear) {
this.name = name;
this.empno = empno;
this.age = age;
this.hireYear = hireYear;
}
public Employee(String name, long empno, int age) {
this(name, empno, age, 0); // 调用构造方法
}
// setter, getter 方法省略
// 计算实际增长率
public double getRealRate() {
this.realRate = Employee.baseRate + 0.15 * hireYear; // 更新实际增长率
return this.realRate;
}
// 计算当前工资增长额度
public double getSalaryIncr() {
return Employee.baseSalary * this.getRealRate();
}
// 计算实际工资
public double getRealSalary() {
this.realSalary = Employee.baseSalary + this.getSalaryIncr();
return this.realSalary;
}
// 获得信息
public String getInfo() {
return "name: " + this.name + "\tage: " + this.age +
"\tempno: " + this.empno + "\thireYear: " + this.hireYear +
"\trealSalary: " + this.getRealSalary() + "\trealRate" + this.realRate;
}
}
public class Demo {
public static void main(String[] args) {
Employee emp1 = new Employee("emp1", 10000L, 40, 5);
System.out.println(emp1.getInfo());
Employee emp2 = new Employee("emp2", 100002L, 20);
System.out.println(emp2.getInfo());
}
}
这里只展示了几个简单的Java类,对于类的使用后面需要不断的练习熟悉