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);
        }
    }
    小结:

  • 相关阅读:
    int、bigint、smallint 和 tinyint
    SQL Server 2005中修改 Server Collation的方法
    BCP 数据导入问题 Unix系统中的文本文件换行符引发的问题
    如何在不提升用户权限的情况下,使普通用户执行xp_cmdshell存储过程
    【转】分析SQL Server计划缓存
    很多年过去了
    SQL日志收缩
    【转】sql server 测试中一些常看的指标和清除缓存的方法
    反射相关
    js获取UserControl内容,避免拼html的麻烦
  • 原文地址:https://www.cnblogs.com/milantgh/p/4040287.html
Copyright © 2011-2022 走看看