扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这篇文章将为大家详细讲解有关如何在java中引用类,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。
成都创新互联是专业的通城网站建设公司,通城接单;提供成都网站制作、网站设计,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行通城网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
1、类的主动引用,一定会发生类的初始化
当虚拟机启动,先初始化main方法所在的类
实例化一个类的对象
调用类的静态成员(除了final常量)和静态方法
使用java.lang.reflect包的方法对类进行反射调用
当初始化一个类,如果其父类没有被初始化,则先会初始化它的父类
2、类的被动引用,不会发生类的初始化
当访问一个静态域时,只有真正声明这个域的类才会被初始化。如:当通过子类引用父类的静态变量,不会导致子类初始化
通过数组定义类引用,不会触发此类的初始化
引用常量不会触发此类的初始化(常量在链接阶段就存入调用类的常量池中了)
3、实例
package com.volcano.reflection; //什么时候会发生类的初始化,除了第一个注释一直开着,其他都要独立打开测试,否则不准确 public class TestReflection3 { static { //1.虚拟机启动就会最先初始化main方法所在的类 会 System.out.println("main方法被加载"); } public static void main(String[] args) throws ClassNotFoundException { //2.实例化一个对象 会 //new Father(); //3.调用类的静态成员(除了final常量)和静态方法 会 //System.out.println(Son.a); //4.使用java.lang.reflect包的方法对类进行反射调用 会 //Class cls = Class.forName("com.volcano.reflection.Father"); //5.当初始化一个类,如果其父类没有被初始化,则先会初始化它的父类 会 //new Son(); //6.当访问一个静态域时,只有真正声明这个域的类才会被初始化 不会 //System.out.println(Father.a);//两个都是只加载Father //System.out.println(Son.a);//因为a是Father的静态成员 //7.通过数组定义类引用,不会触发此类的初始化 不会 //Father[] fathers = new Father[10]; //8.引用常量不会触发此类的初始化 不会 //System.out.println(Father.B); } } class Father{ static { System.out.println("Father被加载"); } static int a=100; static final int B = 300; } class Son extends Father{ static { System.out.println("Son被加载"); } static int c=200; }
Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用来表示小数的数据类型。3、字符类型,字符类型的关键字是“char”。4、布尔类型,是表示逻辑值的基本数据类型。
关于如何在java中引用类就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流