您的位置:首页 > 编程语言 > Java开发

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中抽象了类的包名/类名/属性数组/方法数组等;

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]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: