Java面向对象6----几个简单的类实践案例
Posted iostreamzl
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java面向对象6----几个简单的类实践案例相关的知识,希望对你有一定的参考价值。
前面学习了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类,对于类的使用后面需要不断的练习熟悉
以上是关于Java面向对象6----几个简单的类实践案例的主要内容,如果未能解决你的问题,请参考以下文章
阿里云名师课堂Java面向对象开发41:第03个代码模型综合案例:数据表与简单Java类(一对多)