All pastes #900063 Raw Edit

Something

public text v1 · immutable
·published 2008-02-11 17:24 UTC
rendered paste body
      Hai th = new Hai(true, 10000, 1000, "Jaws");
      Hai th2 = new Hai(true, 10000, 1000, "Jas");



      // Katsotaan tiedot.

      System.out.println(th.elossa());

      System.out.println(th.paino());

      System.out.println(th.pituus());

      System.out.println(th.lempinimi());
      System.out.println(th.toString());
      System.out.println(th.equals(th));
      System.out.println(th.equals(th2));

      //Kloonaus...
      System.out.println("\n");
      try {
        Hai th3 = (Hai)th.clone(); 
        System.out.println(th3.elossa());

        System.out.println(th3.paino());

        System.out.println(th3.pituus());

        System.out.println(th3.lempinimi());
        System.out.println(th3.toString());
        System.out.println(th3.equals(th)); //Palauttaa true, koska Hai-luokassa on ylikirjoitettu equals-metodi siten, että luokan attribuutit ovat vain
					    //vertailun kohteina. Hajautusarvot ovat kumminkin erit, koska hashCode()-metodia ei ole ylikirjoitettu asian
					    //mukaseisti equals-metodin kanssa. Hajautusarvo viittaa muistiosoitteeseen, jossa olio sijaitsee. Oliolle voi
					    //laskennallisesti asettaa samat hajautusarvot ylikirjoittamalla hashCode()-metodin. Tämä ei kumminkaan tarkoita 
					    //sitä, että oliot viittaisivat samaan muistiosoitteeseen.
        System.out.println("Kloonatun olion hajautusarvo:"+th3.hashCode()+ " Olion, josta on kloonattu:"+th.hashCode()+"\nSiirretaan th:n muistiosoite th3:lle");
        th3 = th; //Siirretään th viitteen muistiosoite th3:lle. Tällöin:
        System.out.println("Kloonatun olion hajautusarvo:"+th3.hashCode()+ " Olion, josta on kloonattu:"+th.hashCode());
        System.out.println("th3: "+th3.toString());
        System.out.println("th: "+th.toString());
      } catch(Exception e) { /*ignore*/ }


Tuloste:

  true
  10000.0
  1000.0
  Jaws
  Hai@130c19b true 10000.0 1000.0 Jaws
  true
  false


  true
  10000.0
  1000.0
  Jaws
  Hai@1f6a7b9 true 10000.0 1000.0 Jaws
  true
  Kloonatun olion hajautusarvo:32942009 Olion, josta on kloonattu:19972507
  Siirretaan th:n muistiosoite th3:lle
  Kloonatun olion hajautusarvo:19972507 Olion, josta on kloonattu:19972507
  th3: Hai@130c19b true 10000.0 1000.0 Jaws
  th: Hai@130c19b true 10000.0 1000.0 Jaws