Java关键技术强化:类加载器之Class类的作用(1) (day03)

Java关键技术强化:类加载器之Class类的作用(1)  (day03)

 

一、Class类

  •   Class对象由JVM自动产生,每当一个类被加载时,JVM就自动为其生成一个Class对象,通过Class对象可以获得类的相关信息。
  •   将类信息读到内存中过程,称为类加载

 

二、获得Class对象

 

  获得类的基本信息的常用方法:

       getName():获得类名

       getPackage():获得包名

       isInterface():是否为接口

       isPrimitive():是否为基本类型

       isArray():是否为数组

       getSuperclass():获得父类的Class对象

 

  1、分别使用getClass()和class属性,来简单的获取String类的Class对象,并从中获得一些相关信息?

范例(代码):

 1 package demo01;
 2 
 3 public class Demo01 {
 4     /*
 5     * @param args
 6     * */
 7     public static void main(String[] args) {
 8         String s = new String("hello");
 9 
10         //1、getClass()
11         Class clz = s.getClass();
12         System.out.println("类名:"+clz.getName());
13         System.out.println("包名:"+clz.getPackage());
14         System.out.println("是否为接口:"+clz.isInterface());
15         System.out.println("是否为基本类型:"+clz.isPrimitive());
16         System.out.println("是否为数组:"+clz.isArray());
17         System.out.println("String类的父类:"+clz.getSuperclass());
18 
19         //2、class
20         Class clz1 = String.class;
21         System.out.println("类名:"+clz1.getName());
22         System.out.println("包名:"+clz1.getPackage());
23         System.out.println("是否为接口:"+clz1.isInterface());
24         System.out.println("是否为基本类型:"+clz1.isPrimitive());
25         System.out.println("是否为数组:"+clz1.isArray());
26         System.out.println("String类的父类:"+clz1.getSuperclass());
27 
28         System.out.println(clz == clz1);
29 
30         //得出结论:
31         //a.一个类的类对象是唯一的
32         //b.如果已知对象的实例,可以通过getClass()得到类对象
33         //C.如果已知类型,可以通过class得到类对象
34     }
35 }

 

 

      2、对于基本类型有没有Class对象呢?怎么获取?

范例(代码):

int a = 100;
System.out.println(int.class);

 

三、总结

 

  这次为大家讲解了有关Class类的作用,下一节为大家讲解类加载器的作用,日拱一卒,不期速成。

 

上一篇:day03_常量丶字面量丶变量


下一篇:java学习笔记(day03)