乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      equals、hascode、toString三個(gè)方法的應(yīng)用實(shí)例_J2EE企業(yè)級(jí)系統(tǒng)分析與...

       仙人不留果 2009-12-04

      /**
         @version 1.11 2004-02-21
         @author Cay Horstmann
      */

      import java.util.*;

      public class EqualsTest
      {
         public static void main(String[] args)
         {
            Employee alice1 = new Employee("Alice Adams", 75000, 1987, 12, 15);
            Employee alice2 = alice1;
            Employee alice3 = new Employee("Alice Adams", 75000, 1987, 12, 15);
            Employee bob = new Employee("Bob Brandson", 50000, 1989, 10, 1);

            System.out.println("alice1 == alice2: " + (alice1 == alice2));

            System.out.println("alice1 == alice3: " + (alice1 == alice3));

            System.out.println("alice1.equals(alice3): " + alice1.equals(alice3));

            System.out.println("alice1.equals(bob): " + alice1.equals(bob));

            System.out.println("bob.toString(): " + bob);

            Manager carl = new Manager("Carl Cracker", 80000, 1987, 12, 15);
            Manager boss = new Manager("Carl Cracker", 80000, 1987, 12, 15);
            boss.setBonus(5000);
            System.out.println("boss.toString(): " + boss);
            System.out.println("carl.equals(boss): " + carl.equals(boss));
            System.out.println("alice1.hashCode(): " + alice1.hashCode());
            System.out.println("alice3.hashCode(): " + alice3.hashCode());
            System.out.println("bob.hashCode(): " + bob.hashCode());
            System.out.println("carl.hashCode(): " + carl.hashCode());
         }
      }

      class Employee
      {
         public Employee(String n, double s, int year, int month, int day)
         {
            name = n;
            salary = s;
            GregorianCalendar calendar = new GregorianCalendar(year, month - 1, day);
            hireDay = calendar.getTime();
         }

         public String getName()
         {
            return name;
         }

         public double getSalary()
         {
            return salary;
         }

         public Date getHireDay()
         {
            return hireDay;
         }

         public void raiseSalary(double byPercent)
         {
            double raise = salary * byPercent / 100;
            salary += raise;
         }

         public boolean equals(Object otherObject)
         {
            // a quick test to see if the objects are identical
            if (this == otherObject) return true;

            // must return false if the explicit parameter is null
            if (otherObject == null) return false;

            // if the classes don't match, they can't be equal
            if (getClass() != otherObject.getClass())
               return false;

            // now we know otherObject is a non-null Employee
            Employee other = (Employee) otherObject;

            // test whether the fields have identical values
            return name.equals(other.name)
               && salary == other.salary
               && hireDay.equals(other.hireDay);
         }

         public int hashCode()
         {  
            return 7 * name.hashCode()
               + 11 * new Double(salary).hashCode()
               + 13 * hireDay.hashCode();
         }

         public String toString()
         {
            return getClass().getName()
               + "[name=" + name
               + ",salary=" + salary
               + ",hireDay=" + hireDay
               + "]";
         }

         private String name;
         private double salary;
         private Date hireDay;
      }

      class Manager extends Employee
      {
         public Manager(String n, double s, int year, int month, int day)
         {
            super(n, s, year, month, day);
            bonus = 0;
         }

         public double getSalary()
         {
            double baseSalary = super.getSalary();
            return baseSalary + bonus;
         }

         public void setBonus(double b)
         {
            bonus = b;
         }

         public boolean equals(Object otherObject)
         {
            if (!super.equals(otherObject)) return false;
            Manager other = (Manager) otherObject;
            // super.equals checked that this and other belong to the same class
            return bonus == other.bonus;
         }

         public int hashCode()
         {  
            return super.hashCode()
               + 17 * new Double(bonus).hashCode();
         }

         public String toString()
         {
            return super.toString()
              + "[bonus=" + bonus
              + "]";
         }

         private double bonus;
      }

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多