• 2010. 4. 20.

    by. 별머루

      
      

    예제_01

      

    import java.io.*;
    class Car 
    {

     protected int velocity;
     protected int weeelNum;
     protected String carName;
     
     public void speedUp()
     {
      velocity = velocity + 1;
     }

     public void speedUp(int num)
     {
      velocity += num;
     }
     public void speedDown()
     {
      velocity = velocity -1;
      if(velocity < 0)
       velocity =0;
     }
    }
    ---------------------------- Car 클래스 생성.. -_-a

     

    class Truck extends Car
    {
     public void speedUp(int num)
     {
      velocity += num;

      if(velocity >100)
       velocity =100;
     }
      
     public static void main(String[] args) 
     {
      Truck myTruck;
      Car realCar, myCar;

      myTruck = new Truck();
     
      myCar = myTruck;
      
     
      myCar.speedUp(300);
     
      
      System.out.println("Truck speed is : " +myCar.velocity);
     }
    }
    ------------------------------------ Truck 클래스 생성 (Car 클래스를 상속 받음)

    =========================================

     

    class Outer
    {
     private int height;
     private int width;

     public Outer(int h, int w)
     {
      height = h;
      width = w;
     }

     public Inner getInner()
     {
      return new Inner();
     }

     class Inner
     {
      private float rate = 0.5f;

      public float capacity()
      {
       return rate * height * width;
      }
     }
    }
    -------------------------- Outer 클래스 생성 Inner 클래스를 포함 하고 있다. (내부 클래스)

     

    class TestOuter 
    {

     public static void main(String[] args) 
     {
      Outer outRef = new Outer(100,200);

      Outer.Inner MyInner = outRef.getInner();

      System.out.println("Inner valus is : " + MyInner.capacity());

      Outer.Inner yourInner = outRef.new Inner();

      System.out.println("Inner Valus is : " + yourInner.capacity());

     }
    }

    ------------------------ TestOuter 클래스 생성 (따로 상속 받을 필요 없이 Inner 객체를 상속 받을때와 동일하게 사용함)

    =====================================================================================================

     


    public class Outer {
     
     public Outer()
     {
      System.out.println("외부 클래스 생성");
     }
     
     public Object getAnonInnerObj()
     {
      return new Object()
      {
       public String toString()
       {
        return "이건 Anonymous Inner 객체";
       }
      };
     }
    }

    ----------------------- Anonymous(무명 클래스) 생성하는 Outer 클래스.


    public class TestOuter {

     
     public static void main(String[] args) {
     
      Outer myOut = new Outer();
      Object obj = new Object();
      Object anonObj = myOut.getAnonInnerObj();
      
      System.out.println(obj.toString());
      System.out.println(anonObj.toString());

     }

    }
    ------------------------TestOuter 클래스로 Outer 클래스에 있는 Anonymos 클래스와 같이 쓰는 예제.

     

    Anonymos 클래스는 이름없는 무명의 클래스 이다. 즉.. 필요할때 쓰고 나면 존재가 사라진다.. (클래스 파일을 볼수도 없다)

     

    또한 Object (최상위 클래스) 를 생성하여 모든 클래스를 받아 사용 하는 .. 기능을 쓴다.

     

    자세한 설명은 책 206 페이지에 있으니 참고 하세요.

    'Other > Java' 카테고리의 다른 글

    활용 예제및.. 과제 내용.  (0) 2010.04.20
    뭔지모를 소스 -_-;;;;;  (0) 2010.04.20
    Swing을 이용한 윈도우 메모장 만들기  (0) 2010.04.20