달력

82025  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31


/*
< ? super 객체자료형>  명시된 객체를 포함한 상위 객체들의배치 / 객체 내부의 모든 제네릭 타입은 Object로 인식
< ? exfends 객체자료형 >  명시된 객체를 포함한 상속받은 하위 객체들의 배치 / 객체 내부의 모든 제네릭 타입은 extends 다음에 명시된 객체자료형으로 인식
*/

class SuperA
{
 String msg = "SuperA";
 public String getMsg();
 return msg;
 
}

class SuperB
{
 String
 public
 
}

class SuperC
{
 public
}

class GenericEx2 < T >
{
 private T a;
 public GenericEx2() {}
 public GenericEx2( T a )
 {
  this.a = a;
 }

 public void set ( T a )
 {
  this.a = a;
 }

 public T get()
 {
  return a;
 }

 public static void main( String[] args )
 {
  GenericEx2 < ? > ge = new GenericEx2 < Integer > ( 10 );
  int a = ( Integer ) ge.get();

  SuperA sua = new SuperA();
  SuperB sub = new SuperB();
  SuperC suc = new SuperC();

  GenericEx2 < ? super SuperB > ge1 = new GenericEx2 < SuperA > ( sua );
  GenericEx2 < ? super SuperB > ge2 = new GenericEx2 < SuperB > ( sub );
  // GenericEx2 < ? super SuperB > ge3 = new GenericEx2 < SuperC > ( suc );

  SuperB sb = ( SuperB ) ge2.get();

  // GenericEx2 < ? extends SuperB > ge4 = new GenericEx2 < SuperA > ( sua );
  GenericEx2 < ? extends SuperB > ge5 = new GenericEx2 < SuperB > ( sub );
  GenericEx2 < ? extends SuperB > ge6 = new GenericEx2 < SuperC > ( suc );

  SuperC sc = ( SuperC ) ge6.get();
 }
}

'매니저 > JAVA1' 카테고리의 다른 글

JAVA1 Stack 예제 (임시저장)  (0) 2011.12.23
JAVA1 HashSet 예제 (임시저장)  (0) 2011.12.23
JAVA1 Gemeric 예제 (임시저장)  (0) 2011.12.23
JAVA1 Package 예제 (임시저장)  (0) 2011.12.23
JAVA1 Exception 예제3 (임시저장)  (0) 2011.12.23
Posted by cdprkr2077
|