java中的class 与Class , A.class 与 A.getClass() 到底有什么 不同
2015-12-02 09:13
597 查看
class 是java的关键字, 在声明java类时使用,而且只能用来声明一个类。
Class 是java JDK提供的一个类, 完整路径为 java.lang.Class;
区别是指两个或两个以上的事物间的不同, 当两种相似的事物作比较时,
它们的不同点便是区别。
class和Class的作用:
1. class只用于类声明;
2. Class则用于抽象所有类的相关信息,定义一个Calss类,用于描述类的共性。 java是面向对象的, 一般是把一些事物抽象成一个类,比如将学生信息抽象成Student这个类;Student类会抽象学生的姓名/性别/生日等信息;
那么java中也就把java中的类也抽象成了一个类叫Class;Class中抽象了类的包名/类名/属性数组/方法数组等;
[/code]
Class 是java JDK提供的一个类, 完整路径为 java.lang.Class;
区别是指两个或两个以上的事物间的不同, 当两种相似的事物作比较时,
它们的不同点便是区别。
class和Class的作用:
1. class只用于类声明;
2. Class则用于抽象所有类的相关信息,定义一个Calss类,用于描述类的共性。 java是面向对象的, 一般是把一些事物抽象成一个类,比如将学生信息抽象成Student这个类;Student类会抽象学生的姓名/性别/生日等信息;
那么java中也就把java中的类也抽象成了一个类叫Class;Class中抽象了类的包名/类名/属性数组/方法数组等;
Class<?> cVariable 中?表示一个未知的类 不加上<?>也可以 但会有警告。
Class<String> cVariable 只能接收String和他的子类 Class c能接收任何类。
方法中直接调用 getClass()会返回 class +类的全名。
ubuntu@localhost:~/JAVA$ java MyClass class MyClass
还可以通过类的实例变量来调用getClass() 获取类的类型类,也就是对应的Class的子类,所有的类型类都是Class的子类。
1 public class MyClass { 2 public void getmyclass() 3 { 4 System.out.println(getClass()); 5 } 6 7 public Class<?> getclass(){ 8 return getClass(); 9 } 10 11 public static void main(String[] args) { 12 13 MyClass temp = new MyClass(); 14 15 System.out.println(temp.class); 16 17 if (MyClass.class == temp.getclass()) { 18 System.out.println("equal!\n"); 19 } 20 else 21 { 22 System.out.println("not equal!\n"); 23 } 24 25 } 26 }
运行结果是equal!
在Java中,每个class都有一个相应的Class对象。也就是说,当我们编写一个类,编译完成后,在生成的.class文件中,就会产生一个Class对象,用于表示这个类的类型信息
[/code]
相关文章推荐
- Java学习之多态
- Spring AOP 实现原理与 CGLIB 应用
- java打开指定文件(运行指定程序exe)
- Java算法---求面积
- 详解Java的Struts框架中上传文件和客户端验证的实现
- 关于jndi(Java Naming and Directory Interface)java的命名与目录实例的接口
- [007]打开Eclipse 在loading workbench状态闪退
- 使用Eclipse-Maven-git做Java开发(10)--转换不符合maven结构的工程
- java读取 500M 以上文件,java读取大文件
- java SSH框架 SSM框架 SSI框架 源码
- Java代理系列-静态代理
- 继承
- java垃圾回收机制
- java编程知识--初始化
- java io中CreateNewFile()和createTempFile()
- 操作符和流程控制
- java 读取Excel (利用poi,jxl插件)
- J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM区别
- Java Arrays.sort源代码解析
- MyEclipse10.6 安装SVN插件方法及插件下载地址