如何在java中引用类

这篇文章将为大家详细讲解有关如何在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基本数据类型有哪些

Java的基本数据类型分为:1、整数类型,用来表示整数的数据类型。2、浮点类型,用来表示小数的数据类型。3、字符类型,字符类型的关键字是“char”。4、布尔类型,是表示逻辑值的基本数据类型。

关于如何在java中引用类就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


新闻名称:如何在java中引用类
分享地址:http://cdiso.cn/article/pcgdsg.html

其他资讯