您的位置:首页 > 职场人生

黑马程序员---可变参数、Class类

2012-07-25 12:13 120 查看
---------------------- android培训java培训、期待与您交流! ----------------------

1、可变参数
        (1)、只能出现在参数列表的最后
        (2)、...位于变量类型和变量名之间,前后有无空格都可以
        (3)、调用可变参数逇方法时,编译器为该可变参数隐含创建的一个数组,在方法中一数组的形式访问可变参数。
 
2、增强for循环

语法:
        for(type 变量名  : 集合变量名){}
注意事项
        迭代变量必须在()中定义
        集合变量可以使数组或实现了Iterable接口的集合类

 

3、Class类

Person p1 = new Person();
Class cls = Person.class;//字节码
p1.getClass()//字节码,有,得到字节码
Class.forName("java.lang.String")//字节码,虚拟机里没有,加载
    1、java程序中的各个java类属于同一类事物,描述这类事物的java类名就是Class
        (1)、java类用于描述一类事物的共性,该类事物有什么属性,没有什么属性,至于这个属性的值施舍呢么,则是由
        这个类的实例对象来确定的,不同的实例对象有不同的属性值。Java程序中的各个java类,他们是否属于同一类事物,
        是不是可以用一个类来描述这类事物呢?这个类的名字就是Class,要注意与小写class关键字的区别。Class类描述
        哪些方面的信息呢?类的名字,类的访问属性,类所属的包名,字段名称的列表,方法名称的类表,等等,学习反射
        ,首先就要明白Class这个类
    2、对比体温:众多的人用一个什么类表示?众多的java类用一个什么类表示?
        (1)、人->Person
        (2)、Java类->Class
    3、对比提问:Person类代表人,他的实例对象就是张三,李四这样一个个具体的人,Class类代表Java类,
        它的各个实例对象又分别对应什么呢?
            (1)、对应各个类在内存中的字节码,例如Person类的字节码,ArrayList类的字节码,等等
            (2)、一个类被类加载器加载到内存中,占用一片存储空间,这个空间里面的内容就是累的字节码,不同的
                的类的字节码是不同的,所以它们在内存中是不同的,这一个个的空间可分别用一个个的对象来表示,
                这些对象显然具有相同的类型,这个类型是什么呢?
    4、如何得到各个字节码对应的实例对象(Class类型)
        (1)、类名.class,例如,System.class
        (2)、对象.getClass(),例如,new Date().getClass()
        (3)、Class.forName("类名"),例如,Class.forName("java.util.Date")
    5、九个预定义Class实例对象
        (1)、参看Class.isPrimitive()方法的帮助,是否为基本类型
        (2)、Int.class==Integer.TYPE
        (3)、Class 类的实例表示正在运行的 Java 应用程序中的类和接口。枚举是一种类,注释是一种接口。
            每个数组属于被映射为 Class 对象的一个类,所有具有相同元素类型和维数的数组都共享该 Class 对象。
            基本的 Java 类型(boolean、byte、char、short、int、long、float 和 double)和关键字 void 也表示为 Class 对象。 
        (4)、int.class==Integer.TYPE , isPrimitive public boolean isPrimitive()判定指定的 Class 对象是否表示一个基本类型。 
            有九种预定义的 Class 对象,表示八个基本类型和 void。这些类对象由 Java 虚拟机创建,与其表示的基本类型同名,即 boolean、byte、char、short、int、long、float 和 double。 
            这些对象仅能通过下列声明为 public static final 的变量访问,也是使此方法返回 true 的仅有的几个 Class 对象。 
    6、数组类型的、class实例对像
        Class.isArray()
        总之,只要是在源程序中出现的类型,都有各自的Class实例对象,例如,int[] void

 

 

 

---------------------- android培训java培训、期待与您交流! ---------------------- 

详细请查看:http://edu.csdn.net/heima 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐