zoukankan      html  css  js  c++  java
  • EKT Java企业级关键技术强化 Enterprise Edition

    EKT enterprise key techlology 企业关键技术

    本章目标:

    1.理解Class类

    2.理解JAVA类加载体系结构

    3.理解类的加载过程

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

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

    getName() 获得类名
    getPackage() 获得包名
    isInterface() 是否为接口
    isPrimitive() 是否为基本类型
    isArray() 是否为数组
    getSuperclass() 获得父类的Class对象

    class与类加载:

    Java在需要使用某个类时,才会将该类进行加载,而不是在程序启动时就加载所有的类。

    有6种情况,JVM会加载Class对象

    一、使用new关键字创建对象时。
    二、通过反射创建对象时。
    三、调用某个类的static方法时。
    四、调用某个类的static属性时。
    五、当初始化某个类的子类时。
    六、某个类标明为main() 函数类(启动类) 。

    部分代码展示:

    public class Demo1 {
        public static void main(String[] args) {
            String str=new String("Hello tty!");
    
            //1.getClass();
            Class c1=str.getClass();
    
    //        getName() 获得类名
            System.out.println("1.获得类名:"+c1.getName());
    
            System.out.println("*******************");
    
    //        getPackage() 获得包名
            System.out.println("2.获得包名:"+c1.getPackage());
    
            System.out.println("*******************");
    
    //        isInterface() 是否为接口
            System.out.println("3.是否为接口:"+c1.isInterface());
    
            System.out.println("*******************");
    
    //        isPrimitive() 是否为基本类型
            System.out.println("4.是否为基本类型:"+c1.isPrimitive());
    
            System.out.println("*******************");
    
    //        isArray() 是否为数组
            System.out.println("5.是否为数组:"+c1.isArray());
    
            System.out.println("*******************");
    
    //        getSuperclass() 获得父类的Class对象
            System.out.println("6.获得父类的Class对象:"+c1.getSuperclass());
    
            System.out.println("*******************");
    
            //2. class
            Class c2=String.class;
    
    //        getName() 获得类名
            System.out.println("1.获得类名:"+c2.getName());
    
            System.out.println("*******************");
    
    //        getPackage() 获得包名
            System.out.println("2.获得包名:"+c2.getPackage());
    
            System.out.println("*******************");
    
    //        isInterface() 是否为接口
            System.out.println("3.是否为接口:"+c2.isInterface());
    
            System.out.println("*******************");
    
    //        isPrimitive() 是否为基本类型
            System.out.println("4.是否为基本类型:"+c2.isPrimitive());
    
            System.out.println("*******************");
    
    //        isArray() 是否为数组
            System.out.println("5.是否为数组:"+c2.isArray());
    
            System.out.println("*******************");
    
    //        getSuperclass() 获得父类的Class对象
            System.out.println("6.获得父类的Class对象:"+c2.getSuperclass());
    
    
            System.out.println(c1==c2);
            //得出结论:
            //a.一个类的类对象是唯一的
            //b.如果已知对象的实例可以通过getClass()得到类对象
            //c.如果已知类型,可以通过class得到类对象
    
    
        }
    
    }

    效果图展示:

    心得与感悟:

    学习的过程解决自己的解惑,让自己不断地进步,学习是痛苦并快乐着的,每天的日子都感觉很充实,我相信未来的我一定会感谢现在拼搏的自己。
  • 相关阅读:
    php数组常用函数
    java中Property类的基本用法
    properties文件不能输入中文
    Eclipse中Outline里各种图标的含义
    Eclipse的工程名有红色的感叹号,工程里面没有显示编译错误
    路径问题
    yum -y install 和yum install 的区别
    Linux下源码安装jdk
    Linux下安装rz、sz命令(文件上传下载)
    scp命令详解—跨服务器复制文件
  • 原文地址:https://www.cnblogs.com/www-tty-com/p/13537205.html
Copyright © 2011-2022 走看看