Mega Code Archive

 
Categories / Java / Class
 

This program demonstrates static methods

/*  This program is a part of the companion code for Core Java 8th ed.  (http://horstmann.com/corejava)  This program is free software: you can redistribute it and/or modify  it under the terms of the GNU General Public License as published by  the Free Software Foundation, either version 3 of the License, or  (at your option) any later version.  This program is distributed in the hope that it will be useful,  but WITHOUT ANY WARRANTY; without even the implied warranty of  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  GNU General Public License for more details.  You should have received a copy of the GNU General Public License  along with this program.  If not, see <http://www.gnu.org/licenses/>.  */ /**  * 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 {   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());   }   private String name;   private double salary;   private int id;   private static int nextId = 1; }