黑马程序员---可变参数、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
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
相关文章推荐
- 黑马程序员 增强for循环和可变参数
- 黑马程序员_集合4(高级for,可变参数,静态导入,Date,Calendar,Math,System,RunTime)
- 【黑马程序员】张孝祥Java高新技术_静态导入、可变参数、增强for循环
- 黑马程序员-高新技术-1.5新特性之静态导入、可变参数、增强for循环
- 黑马程序员-可变参数-静态导入-import static
- 黑马程序员————java基础--------JDK1.5新特性之泛型、自动拆装箱、增强for、静态导入、可变参数
- 黑马程序员 Params可变参数
- 黑马程序员_Java高新技术_可变参数
- 黑马程序员:可变参数
- 黑马程序员--枚举,增强for循环,可变参数,静态导入,自动拆箱和自动装箱
- 黑马程序员--Java基础加强--04.代码简化 书写规律III_数组参数【重载】【数组】【可变参数数组】【泛型可变参数数组】【个人总结】
- 黑马程序员:静态导入、可变参数、增强for循环的介绍
- 黑马程序员—反射调用main方法的问题总结(涉及可变参数)(反射参数是一个数组的函数要小心)
- 黑马程序员——可变参数和重载和重写
- 黑马程序员:基础加强(可变参数、增强for、枚举、javabBean、BeanUtils、注解、泛型)
- 黑马程序员_高新技术:1)eclipse的使用技巧_可变参数_增强for循环_基本数据类型的自动拆箱与装箱
- 黑马程序员学习日记(8)--函数的ref、out参数和可变参数
- 黑马程序员_Java基础:可变参数(Varagrs)的使用注意事项
- 黑马程序员——高新技术--JDK1.5新特性(for循环增强、可变参数、静态导入、自动装拆箱、享元)
- 黑马程序员_14 枚举 , 静态导入 ,可变参数