java中的class 与Class , A.class 与 A.getClass() 到底有什么 不同

来源:互联网 发布:淘宝要交保证金吗2017 编辑:程序博客网 时间:2024/04/29 13:19
class 是java的关键字, 在声明java类时使用,而且只能用来声明一个类。


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对象,用于表示这个类的类型信息


0 0
原创粉丝点击