Android开发从零开始之java-泛型初步
2013-01-27 17:29
225 查看
package test; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; /* * 作者:钟志钢 * 功能:泛型 * 时间:2013-1-27 * 1, 泛型好处:类型安全,向后兼容,层次清楚,性能较高 */ public class 泛型 { /** * @param args */ public static void main(String[] args) { 泛型 fx = new 泛型(); } public 泛型(){ List al = new ArrayList(); Dog dog1 = new Dog(); al.add(dog1); Dog dog = (Dog) al.get(0);//正确 //当我们不知道al里装的是什么,如果 //Cat cat = (Cat) al.get(0);//编译可能通过,运行不会通过,发生运行时错误 //解决方案:泛型,这样可以把错误发生的可能提前到编译时 List<Dog> dl = new ArrayList<Dog>(); dl.add(dog1); Dog d = dl.get(0); //Cat c = dl.get(0);这样的编译是不通过的 //java反射机制 Gen<String> gs = new Gen<String>("aaa"); gs.showTypeName(); Gen<Bird> myb = new Gen<Bird>(new Bird()); myb.showTypeName(); } } //当我们不确定T的类型时,就用泛型代替,并且能减少重复代码,提高效率 class Gen<T>{ private T o; public Gen (T a){ this.o = a; } public void showTypeName(){ System.out.println("o 的类型是:" + o.getClass().getName()); //通过反射机制可以得到T类型的很多信息,比如成员函数 Method [] ms = o.getClass().getDeclaredMethods();//获得所有public方法 for(Method m : ms){ System.out.println(m.getName()); } } } class Bird { public void test1(){ System.out.println("bird"); } public void count (int a , int b){ System.out.println("Bird计算a+b" + (a + b)); } } class Dog { private String name ; 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; } private int age; } class Cat { private String color; public String getColor() { return color; } public void setColor(String color) { this.color = color; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } private int age; }
相关文章推荐
- Android开发之从零开始-java-数组练习-裁判打分
- Android开发从零开始之java-IO流
- Java开发工具及程序设计初步
- 开发Android第二步,安装 java , apache ant, Eclipse 及在模拟器安装编译程序
- Android开发之Java集合类性能分析
- 开发Android第二步,安装 java , apache ant, Eclipse 及在模拟器安装编译程序
- Android开发之ContentProvider初步
- Android应用开发提高系列(1)——《Practical Java 中文版》读书笔记(上)
- C\C++ 程序员从零开始学习Android - 个人学习笔记(十) - java基础 - 多线程(待续)
- Java游戏开发框架LGame-0.2.6发布(含PC及Android版)
- Android 开发环境搭建---Android 编译需要的sun-java5-jdk在ubuntu10.04以上版本的安装问题
- Android开发之Java设计模式
- Android开发之Java设计模式入门篇
- Android 开发环境搭建-JAVA SDK(Updated by 2011-03-02)
- 30本pdf完整版的经典Linux学习和开发教程和资料下载 android arm java 资料大全
- 传智播客java学习--3g开发Android2
- android 开发中遇到的错误及解决方式(更新R.java文件不能自动更新问题)
- Java(Android)游戏开发框架LGame-0.2.7发布
- Android java开发环境 eclipse
- 从零开始Android游戏编程(第二版) 第一章 搭建开发环境