corejava第10版
This commit is contained in:
1 parent
2021c3c227
commit
6165543dd3
1088 files changed
+94411
No files matched your search
@@ -0,0 +1,76 @@
|
||||
/**
|
||||
* This program demonstrates static methods.
|
||||
* @version 1.01 2004-02-19
|
||||
* @author Cay Horstmann
|
||||
*/
|
||||
public class StaticTest
|
||||
{
|
||||
public static void main(String[] args)
|
||||
{
|
||||
// fill the staff array with three Employee objects
|
||||
Employee[] staff = new Employee[3];
|
||||
|
||||
staff[0] = new Employee("Tom", 40000);
|
||||
staff[1] = new Employee("Dick", 60000);
|
||||
staff[2] = new Employee("Harry", 65000);
|
||||
|
||||
// print out information about all Employee objects
|
||||
for (Employee e : staff)
|
||||
{
|
||||
e.setId();
|
||||
System.out.println("name=" + e.getName() + ",id=" + e.getId() + ",salary="
|
||||
+ e.getSalary());
|
||||
}
|
||||
|
||||
int n = Employee.getNextId(); // calls static method
|
||||
System.out.println("Next available id=" + n);
|
||||
}
|
||||
}
|
||||
|
||||
class Employee
|
||||
{
|
||||
private static int nextId = 1;
|
||||
|
||||
private String name;
|
||||
private double salary;
|
||||
private int id;
|
||||
|
||||
public Employee(String n, double s)
|
||||
{
|
||||
name = n;
|
||||
salary = s;
|
||||
id = 0;
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
return name;
|
||||
}
|
||||
|
||||
public double getSalary()
|
||||
{
|
||||
return salary;
|
||||
}
|
||||
|
||||
public int getId()
|
||||
{
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId()
|
||||
{
|
||||
id = nextId; // set id to next available id
|
||||
nextId++;
|
||||
}
|
||||
|
||||
public static int getNextId()
|
||||
{
|
||||
return nextId; // returns static field
|
||||
}
|
||||
|
||||
public static void main(String[] args) // unit test
|
||||
{
|
||||
Employee e = new Employee("Harry", 50000);
|
||||
System.out.println(e.getName() + " " + e.getSalary());
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user