Java中class与Class有什么区别

Java中class与Class有什么区别

区别:

(推荐教程:java入门教程)

class是Java中的关键字,如public class Xxx 或者 class Xxx ,在声明Java类时使用。

Class是一个类,相当于是对类的抽象和集合。

Class介绍:

Class是一个类,它在java.lang包中。

75f947c5d5055435a2d175f76885b13.png

它的构造函数是private属性,所以我们不能直接new一个Class对象出来。“私有构造函数。只有Java虚拟机创建类对象。不使用此构造函数,并阻止生成默认构造函数。”

c512611d783e036fe4212af8a26c287.png

如何得到Class对象?

1、通过getClass()方法获取到Class对象

getClass()方法是Object类的一部分。如果我们已经创建了某个类型的对象,那么我们可以通过getClass()方法来获取该类型的Class的对象。

package Task;
import org.junit.Test;

public class Try0 {
    @Test
    public void toTry() throws ClassNotFoundException {
//        //forName方法:参数为其类的路径
//        Class a = Class.forName("Task.Try1");
//        System.out.println(a);

        //通过对象得到类
        Try1 try1 = new Try1();
        Class b = try1.getClass();
        System.out.println(b);
    }
}

class Try1{

}

运行结果:

72c8e85fefa5f2aabf576d2e93060a0.png

(视频教程推荐:java视频教程)

2、通过forName()方法获取到Class对象

Class.forName方法是Class类的一个静态方法。所以可以直接通过Class.forName(“类的路径”)获取Class对象。

package Task;
import org.junit.Test;

public class Try0 {
    @Test
    public void toTry() throws ClassNotFoundException {
        //forName方法:参数为其类的路径
        Class a = Class.forName("Task.Try1");
        System.out.println(a);
    }
}

class Try1{

}

运行结果:

92dd783c64383e7a12d3811e06ba76d.png

3、类.class获得Class对象(类字面常量)

package Task;
import org.junit.Test;

public class Try0 {
    @Test
    public void toTry() throws ClassNotFoundException {
//        //forName方法:参数为其类的路径
//        Class a = Class.forName("Task.Try1");
//        System.out.println(a);

//        //通过对象得到类
//        Try1 try1 = new Try1();
//        Class b = try1.getClass();
//        System.out.println(b);

        //类字面常量
        Class c = Try1.class;
        System.out.println(c);
    }
}

class Try1{

}

运行结果:

b655890f6d0744f90514b479c2b1047.png

以上就是Java中class与Class有什么区别的详细内容,更多请关注其它相关文章!