범용 용법 예시

    앞으로 51CTO 에 정착 해 기술 개발 에 전념 할 테 니 잘 부탁드립니다.다음 코드 는 자신 이 (저자: 이 흥 화) 를 공부 할 때 두 드 린 코드 로 주석 이 완비 되 어 있다.
    범용 클래스 Point. java 만 들 기:
   
   
   
   
  1. package ch10_generics; 

  2.  

  3. /** 

  4.  * 使用泛型机制定义Point类 

  5.  *  

  6.  * @author 望江门外 

  7.  *  

  8.  * @param  

  9.  *            待指定的泛型,在实例化时指定。 

  10.  */ 

  11. public class Point { 

  12.     /** x坐标 */ 

  13.     private T x; 

  14.     /** y坐标 */ 

  15.     private T y; 

  16.  

  17.     /** 

  18.      * 设置x坐标值 

  19.      *  

  20.      * @param x 

  21.      *            x坐标值 

  22.      */ 

  23.     public void setX(T x) { 

  24.         this.x = x; 

  25.     } 

  26.  

  27.     /** 

  28.      * 取得x坐标值 

  29.      *  

  30.      * @return x坐标值 

  31.      */ 

  32.     public T getX() { 

  33.         return this.x; 

  34.     } 

  35.  

  36.     /** 

  37.      * 设置y坐标值 

  38.      *  

  39.      * @param y 

  40.      *            y坐标值 

  41.      */ 

  42.     public void setY(T y) { 

  43.         this.y = y; 

  44.     } 

  45.  

  46.     /** 

  47.      * 取得y坐标值 

  48.      *  

  49.      * @return y坐标值 

  50.      */ 

  51.     public T getY() { 

  52.         return this.y; 

  53.     } 

  54. }///:)


 

建立Generics.java,用来建立泛型对象Point:


 

 

    
    
    
    
  1. package ch10_generics; 

  2.  

  3. /** 

  4.  * 泛型应用示例 

  5.  *  

  6.  * @author 望江门外 

  7.  * 

  8.  */ 

  9. public class Generics { 

  10.     public static void main(String[] args) { 

  11.         Point p1 = new Point(); 

  12.         p1.setX(20); // 设置x坐标值,自动打包 

  13.         p1.setY(30); // 设置y坐标值,自动打包 

  14.         int x1 = p1.getX(); // 自动拆包 

  15.         int y1 = p1.getY(); // 自动拆包 

  16.  

  17.         Point p2 = new Point(); 

  18.         p2.setX(2.0f); // 设置x坐标值,自动打包 

  19.         p2.setY(3.0f); // 设置y坐标值,自动打包 

  20.         float x2 = p2.getX(); // 自动拆包 

  21.         float y2 = p2.getY(); // 自动拆包 

  22.  

  23.         Point p3 = new Point(); 

  24.         p3.setX("二十"); // 设置x坐标值,自动打包 

  25.         p3.setY("三十"); // 设置y坐标值,自动打包 

  26.         String x3 = p3.getX(); 

  27.         String y3 = p3.getY(); 

  28.  

  29.         System.out.println("p1 -- > x坐标:" + x1 + "\t" + "p1 -- > y坐标:" + y1); 

  30.         System.out.println("p2 -- > x坐标:" + x2 + "\t" + "p2 -- > y坐标:" + y2); 

  31.         System.out.println("p3 -- > x坐标:" + x3 + "\t" + "p3 -- > y坐标:" + y3); 

  32.     } 

  33. }/*输出: 

  34.  * p1 -- > x坐标:20 p1 -- > y坐标:30  

  35.  * p2 -- > x坐标:2.0 p2 -- > y坐标:3.0  

  36.  * p3 -- > x坐标:二十 p3 -- > y坐标:三十 

  37.  *///:) 

 

输出见代码所示。

 
 

좋은 웹페이지 즐겨찾기