ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2020-08-20 19:33:09  阅读:259  来源: 互联网

标签:Java day03 clz1 System clz println Class out


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类的作用,下一节为大家讲解类加载器的作用,日拱一卒,不期速成。

 

标签:Java,day03,clz1,System,clz,println,Class,out
来源: https://www.cnblogs.com/cmf12/p/13537401.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有