下面哪些代码能正常编译?
A、Class c = int.class;
B、Class c = "hello".getClass();
C、Class c = String[].class;
D、Class c = Integer.getClass();
E、Class c = Enum.class;
F、Class c = Void.TYPE;
答案:ABCEF
关于java.lang.Class对象的取得,总结如下
取得方法
释义
使用getClass()方法
常量:Class c = "foo".getClass();
枚举:enum E { A, B } Class c = A.getClass();
接口:Set<String> s = new HashSet<String>(); Class c = s.getClass();
数组:byte[] bytes = new byte[1024]; Class c = bytes.getClass();
一般引用:String str = "foo"; Class c = str.getClass();
运用.class语法
基本类型:Class c1 = boolean.class; Class c2 = int.class;
数组:Class c = int[][][].class;
类接口:Class c = java.io.File.class;
运用静态方法Class.forName()
基本类:Class c = Class.forName ("java.lang.String");
内部类:Class c = Class.forName ("java.lang.HashMap$Entry");
数组:Class c = Class.forName ("[I");
运用基本类型包装类的.TYPE语法(包装器类也可使用.class语法)
Class c1 = Boolean.TYPE;
Class c1 = Byte.TYPE;
Class c1 = Character.TYPE;
Class c1 = Short.TYPE;
Class c1 = Integer.TYPE;
Class c1 = Long.TYPE;
Class c1 = Float.TYPE;
Class c1 = Double.TYPE;
Class c1 = Void.TYPE;
使用特殊方法
Class c = java.lang.String.class.getSuperclass();
Class<?>[] c = Character.class.getClasses();
Class<?>[] c = Character.class.getDeclaredClasses();
Class c = f.getDeclaringClass();
Class<c> = o.getClass().getEnclosingClass();
分享到:
相关推荐
常量值又称为字面常量,它是通过数据直接表示的,因此有很多种数据类型,像整型和字符串型等。下面一一介绍这些常量值。 (二)分类 《1》整型常量值 Java 的整型常量值主要有如下 3 种形式。 十进制数形式【……】 ...
1、举例说明 变量 常量 字面... 静态常量池:*.class文件中的常量池,class文件中的常量池不仅仅包含字符串,数值字面量,还包含类、方法的信息,占用class文件绝大部分空间。 运行时常量池:是jvm虚拟机在完成类装
如果你不熟悉类字面常量,那么 我告诉你 Me.class.getName()将返回 Me 类完整的名称,即 “com.javapuzzlers.Me”。那么,这个程序会打印出什么呢? package com.javapuzzlers; public class Me { public static ...
Java 对多线程的支持与同步机制深受大家的喜爱,似乎看起来使用了synchronized 关键 字就可以轻松地解决多线程共享数据同步问题。...object reference(对象引用)、static 函数和class literals(类名称字面常量)身上。
主要介绍了Java中的字符串常量池详细介绍,JVM为了减少字符串对象的重复创建,其维护了一个特殊的内存,这段内存被成为字符串常量池或者字符串字面量池,需要的朋友可以参考下
Class文件常量池主要存放两大常量:字面量和符号引用。 字面量: 字面量分为文本字符串(如: "abc",1等)和用final修饰的成员变量(实例变量和静态变量) 符号引用: 符号引用包括三种:类的全限定名,方法名和描述符,...
如果 再细的分类,synchronized可作用于instance变量、object reference(对象引用)、static函数和class literals(类名称字面常量)身上。 无论synchronized关键字加在方法上还是对象上,它取得的锁都是对象,而...
103 话题18 一成不变——不可修改的String对象 107 话题19 钩深索隐——String字符最大长度的探索 111 话题20 追本溯源——追寻String字面常量的“极限” 116 话题21 旧调重弹——再论equals方法与“==”的 区别 ...
字面量是程序中直接出现的常量值,可以是数字、字符、字符串或布尔值。Java中的字面量包括:整型字面量、浮点型字面量、字符型字面量、字符串字面量和布尔型字面量。 变量 变量是程序中用来存储数据的容器,可以...
在 Java 中,synchronized 关键字可以作用于 instance 变量、object reference(对象引用)、static 函数和 class literals(类名称字面常量)身上。 Synchronized 关键字的作用是取得对象的锁,而不是把一段代码或...
如果 再细的分类,synchronized可作用于instance变量、object reference(对象引用)、static函数和class literals(类名称字面常量)身上。 无论synchronized关键字加在方法上还是对象上,它取得的锁都是对象,而...
Java对多线程的支持与同步机制深受大家的喜爱,似乎看起来使用了...如果再细的分 类,synchronized可作用于instance变量、object reference(对象引用)、static函数和class literals(类名称字面常量)身上。
Class 类文件结构 Java 跨平台的基础 各种不同平台的虚拟机与所有平台都统一使用的程序存储格式——字节码(ByteCode)是 ...常量池中主要存放两大类常量:字面量(Literal)和符号引用(Symbolic References)。
其中,常量池是类文件中最重要的一部分,它包括了两种信息:字面常量和符号引用。 字面常量包括了整数、长整数、字符串等类型,而符号引用则包括了方法的描述、字段的描述等信息。在 JVM 中,方法的描述包括了方法...
运行时常量池是方法区的一部分,class文件除了有类的字段、接口、方法等描述信息之外,还有常量池用于存放编译期间生成的各种字面量和符号引用。在老版jdk,方法区也被称为永久代。在1.8之后,由于永久代内存经常...
1. 掌握变量与常量的语法和规范 2. 掌握8大基本数据类型及特征 3. 掌握各种类型字面量书写方式 4. 掌握赋值运算符 5. 掌握算术运算符及溢出现象 6. 掌握自增自减运算符 7. 掌握比较运算符 8. 掌握逻辑运算符 ...
它可以作用于instance变量,对象引用(object reference),static函数和类名称字面常量(class literals)。 下面介绍一下synchronized的关键字的使用方法: 一、synchronized作函数修饰符 public ...
常量池静态常量池即*.class文件中的常量池,用于存放字面量和符号引用运行时常量池是jvm运行期间,存储常量的数据结构运行时常量池概念运行时常量池(Runti
用const给字面常量起个名字(标识符),这个标识符就称为标识符常量;因为标识符常量的声明和使用形式很像变量,所以也称常变量 定义的一般形式: const 数据类型 常量名=常量值; 数据类型 const 常量名=常量值; ...
一、实验目的 1、理解符号常量的定义方法;...2、熟记不同数据类型字面常量的数值范围; 3、理解数据类型转换方法 4、学习java程序的开发步骤; 5、学习调试程序的基本步骤; 6、理解java程序的层次结构;