java.lang.Class对象相关_codestorm_新浪博客

本文探讨了Java中Class对象的创建方式及类加载机制,包括静态代码块与构造方法的区别,Class对象的获取方法及类加载器的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

public class Solution{

 

public Solution(){

System.out.println("Initializing");

}

 

static{

System.out.println("static code---");

}

 

public static void main(String[] argsthrows ClassNotFoundException, InstantiationException, IllegalAccessException {

Solution solution = new Solution();

Solution solution2 = new Solution();

// static 代码快属于类,在类加载时执行完毕,构造方法只在创建对象时运行

Class class1 =  solution.getClass();

Class class2 = solution2.getClass();

System.out.println(class1.getName());

System.out.println(class2.getName());

System.out.println(class1==class2);

// Class 单例模式,每个被加载的类保持一个class对象,不同对象可通过getClass()方法取到同一对象

Class class3 = Solution.class;

System.out.println(class1==class3);

Class class4 = Class.forName("Solution");

System.out.println(class4==class1);

// 获取class对象的三种方式,以上

System.out.println(class1.getClassLoader());

System.out.println(class4.getClassLoader());

ClassLoader classLoader = class1.getClassLoader();

Class class5 = classLoader.loadClass("Solution");

System.out.println(class1==class5);

// 动态加载类两种方式,以上

class1.getClassLoader();

System.out.println(ClassLoader.getSystemClassLoader());

System.out.println(ClassLoader.getSystemClassLoader()==class1.getClassLoader());

myClassLoader myClassLoader = new myClassLoader();

Class

0

阅读 评论 收藏 转载 喜欢 打印 举报/Report
加载中,请稍候......
  • 评论加载中,请稍候...
发评论

登录名:密码:找回密码 注册 记住登录状态

昵   称:

评论并转载此博文1ae0ab064f232123047edcf081e1c91f.gif

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值