前言: 自定义类模板,java版的结构体是怎么定义的调用的,可以参见下面代码。
Code:
package test;
import java.time.*;
//import java.util.Scanner;
public class test {
public static void main(String args[]) {
Employee[] staff = new Employee[3]; // 定义数组的方式
// 相当于给结构体赋值了
staff[0] = new Employee("zhangsan", 75000, 1987, 12, 15);
staff[1] = new Employee("lisi", 50000, 1989, 10, 1);
staff[2] = new Employee("wangwu", 40000, 1990, 3, 15);
// 给每个人都加薪
for(Employee e : staff)
{
e.raiseSalary(5);
}
// 打印出员工的信息, Employee为数据的类型,这里相当于结构体类型
for(Employee e : staff)
{
System.out.println("name" + e.getname() + ",salary=" + e.getSalary() +",hireDay=" + e.getHireDay());
}
// // 获取当前时间的测试
// LocalDate today = LocalDate.now(); //获取当前日期 年月日
// System.out.println(today);
}
}
// 类似于c的结构体,是不过比结构体多了方法
class Employee
{
private String name;
private double salary;
private LocalDate hireDay;
public Employee(String n, double s, int year, int month, int day) {
name = n;
salary = s;
hireDay = LocalDate.of(year, month, day);
}
// 返回名字(Emplyee的其他类相似)
public String getname() {
return name;
}
public double getSalary() {
return salary;
}
public LocalDate getHireDay() {
return hireDay;
}
public void raiseSalary(double byPercent) {
double raise = salary * byPercent / 100;
salary += raise;
}
}
结果: