Class类的加载以及类的产生原理java学习 第十天
2011-07-28 23:23
429 查看
/*
当类产生一个实例的时候会加载类的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");
}
}
当类产生一个实例的时候会加载类的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");
}
}
相关文章推荐
- Class类的加载以及类的产生原理java学习 第十天
- Class类的加载以及类的产生原理java学习 第十天
- Java学习笔记45(多线程二:安全问题以及解决原理)
- Java学习提要——Class类基础与动态加载类
- java多线程之synchornized原理以及原子操作探究学习
- 黑马程序员-JAVA学习之反射以及Class类的常用方法
- Java学习笔记47(JDBC、SQL注入攻击原理以及解决)
- Java学习疑点(3)--解析二分法查找的原理以及其优缺点
- JAVA通过FDFS上传以及加载文件原理简析
- Java学习之类加载全过程_JVM内存分析_反射机制核心原理_常量池理解
- Java中List,Map的学习以及使用。底层原理的剖析
- Java中Filter、Listener的学习以及istener、 filter、servlet 加载顺序详解
- paip.gui控件tabs控件加载内容的原理以及easyui最佳实现
- Java 并发编程深入学习——线程池及其实现原理
- java学习笔记-----qq项目----在服务器端实现两个客户端的通信的原理
- 深入Java集合学习系列:ArrayList的实现原理
- 在JDBC中 java项目 以及 web项目加载路径文件的异同
- [ Java学习 ] Java变量以及内存分配(非常重要)
- JAVA学习第十天
- 黑马程序员——【Java反射学习】动态加载类