zoukankan      html  css  js  c++  java
  • JAVA之泛型

    /**
     * 泛型讲解
     */
    package com.test;

    import java.lang.reflect.Method;

    import java.util.ArrayList;

    public class test9 {

        /**
         * @param args
         */
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            
            //案例一
            ArrayList<Pig> al = new ArrayList<Pig>();
            Pig pig1 = new Pig();
            al.add(pig1);
            Pig temp = al.get(0); //如果不用泛型则是这样:Pig temp = (Pig)al.get(0);
            temp.showMessage1();
            //案例二
            Bird bd = new Bird();
            Gen<Bird> gen1 = new Gen<Bird>(bd);
            gen1.showTypeName();
            gen1.showMessage2();
        }

    }

    //案例一

    class Pig
    {
        private String name;
        private int age;
        
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public int getAge() {
            return age;
        }
        public void setAge(int age) {
            this.age = age;
        }
        
        public void showMessage1()
        {
            System.out.println("这是第一个案例!!");
        }
        
    }

    //案例二

    //定义一个泛型类
    class Gen<T> //T是参数类型
    {
        private T o;
        
        //构造函数
        public Gen(T a)
        {
            o = a;
        }
        
        //得到T的类型名称
        public void showTypeName()
        {
            System.out.println("类型是:"+o.getClass().getName());
            //通过JAVA反射机制,我们可以得到T这个类型的相关信息
            Method[] m = o.getClass().getDeclaredMethods();
        }
        
        public void showMessage2()
        {
            System.out.println("这是案例二!!");
        }
    }


    //定义一个Bird类
    class Bird
    {
        public void test1()
        {
            System.out.println("aa");
        }
        
        public void count(int a, int b)
        {
            System.out.println(a+b);
        }
    }
    小结:

  • 相关阅读:
    Codeforces Beta Round #9 (Div. 2 Only) C. Hexadecimal's Numbers dfs
    Codeforces Beta Round #9 (Div. 2 Only) B. Running Student 水题
    Codeforces Beta Round #9 (Div. 2 Only) A. Die Roll 水题
    51nod 1035 最长的循环节 数学
    BSGS 模板
    51nod 1040 最大公约数之和 欧拉函数
    51NOD 1179 最大的最大公约数 筛法
    BZOJ 2818: Gcd 筛法
    川大校赛总结
    SCOJ 4484 The Graver Robbers' Chronicles 后缀自动机
  • 原文地址:https://www.cnblogs.com/milantgh/p/4040287.html
Copyright © 2011-2022 走看看