Class类的加载以及类的产生原理java学习 第十天

本文详细解析了Java类的加载机制、类实例化过程以及静态代码段的执行时机,通过实例代码展示了如何在不知道类名的情况下创建类并获取其对象。

/*
当类产生一个实例的时候会加载类的Clsaa对象 JVM根据类名加载class字节码文件 文件
java中所有类都是从object产生的 为什么这么说呢 ? 比如说我们自己定义的类 的 Class对象
会自动调用 newInstance函数来返回object类对象 然后 转换成我们的类
当然我们也可以利用这点来获取 一个 我们定义的类的对象 然后进行操作
类的静态代码段是在类加载的时候才会执行 也就是 new Class()


*/
class Test
{
public static void main(String []args) throws Exception
{


System.out.println("Before Loading "); //判断是否类在 构造对象的时候才被加载
new Point();
new Line();
System.out.println("After Loading");
//下面通过一个 参数来再不知道类名的情况下创建类
Class c1=Class.forName(args[0]); //通过Class静态方法 forName传入 类名字来获得Class类的实例
Point pt=(Point)c1.newInstance(); //通过Class类的newInstance函数获得object对象从而得到 Point对象
pt.outPut();//调用Point 类函数






}
}

class Point
{
int x,y;//java中未定义的变量初始化为0不会出现类似 c++的随机数
static //静态代码段
{
System.out.println("Loading Point");
}
void outPut()
{
System.out.println("x="+x+",y="+y);
}

}
class Line
{
static //静态代码段 当类被加载的时候会执行
{
System.out.println("Loading Line");
}
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值