A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 307117758 中级黑马   /  2015-10-26 19:44  /  213 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

泛型(理解)
        (1)泛型是一种把明确类型的工作放在了创建对象或者调用方法时候才去明确的特殊的类型。
        (2)格式:
                <数据类型>
        (3)好处:(掌握)
                A:解决了黄色警告线问题
                B:把运行期间的转换异常给提前到了编译期间
                C:优化了程序设计,不需要做强制类型转换了
                        1):泛型类
                                需求:我能不能不用重载方法,就可以实现同一个方法,输出不同类型的数据呢?
                                package cn.itcast_03;

                                //尖括号中的QQ代表的是任意类型,QQ也可以用其他任意字母代替(自定义)
                                public class Tool<QQ> {
                                        //这里的QQ必须和上边尖括号中的名字一样,qq是变量名,可以自定义
                                        public void show(QQ qq)
                                        {
                                                //输出QQ类型的变量qq
                                                System.out.println(qq);
                                        }
                                }
                        2):泛型方法
                                你为了保证方法传递不同的参数,你就在类上明确了类型。这样的话,你有没有发现一个问题呢?它要是能够在调用方法的时候,才去明确类型该有多好呢?

                                public class Tool
                                {
                                        public <BYD> void show( BYD byd )
                                        {
                                                System.out.println( byd );
                                        }
                                }
                        3):泛型接口
                                A:定义Inter接口的代码。
                                package cn.itcast_03;

                                public interface Inter<BMW> {
                                        public abstract void show(BMW bmw);
                                }
                               
                                B:接口Inter的实现类InterImpl中的代码。

                                package cn.itcast_03;

                                public class InterImpl<BMW> implements Inter<BMW> {

                                        @Override
                                        public void show(BMW bmw) {
                                                System.out.println(bmw);

                                        }

您需要登录后才可以回帖 登录 | 加入黑马