Class类的加载以及类的产生原理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");
 }
}

时间: 2024-09-20 22:59:10

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

java vlcj-错误: 找不到或无法加载主类 FilesVideoLANVLC”

问题描述 错误: 找不到或无法加载主类 FilesVideoLANVLC" 错误: 找不到或无法加载主类 FilesVideoLANVLC" 解决方案 你的地址路径,打错了 Java的URI形式的绝对资源路径如:file:/D:/java/eclipse32/workspace/jbpmtest3/bin/aaa.b 它跟Window的地址路径写法上不同

jena arq.sparql-jena 报错 找不到或者无法加载主类arq.sparql

问题描述 jena 报错 找不到或者无法加载主类arq.sparql 解决方案 java错误找不到或无法加载主类java中的"错误:找不到或无法加载主类"的解决办法错误:找不到或无法加载主类 解决方案二: http://my.oschina.net/leejun2005/blog/106789http://blog.sina.com.cn/s/blog_a9e5c16d0101cff7.html

ServiceLoader服务提供者模式,实现动态插件加载,类责任链模式

Edit ServiceLoader服务提供者模式,实现动态插件加载,类责任链模式 ServiceLoader的功能比ClassLoader简单,它可以帮我们获取所有实现了某接口或基类的类.当然前提是ClassLoader已经加载过的类.举个例子: 定义一个接口: public interface IService { public String sayHello(); public String getScheme(); } 以及两个实现类: public class HDFSService

spring启动component-scan类扫描加载过程---源码分析

最近因为写书的事情,一段时间没有写博客了,有朋友最近问到了spring加载类的过程,尤其是基于annotation注解的加载过程,有些时候如果由于某些系统部署的问题,加载不到,很是不解!就针对这个问题,我这篇博客说说spring启动过程,用源码来说明,这部分内容也会在书中出现,只是表达方式会稍微有些区别,我将使用spring 3.0的版本来说明(虽然版本有所区别,但是变化并不是特别大),另外,这里会从WEB中使用spring开始,中途会穿插自己通过new ClassPathXmlApplicat

flash as3 中动态加载库类失败解决方法

flash as3 中动态加载库类失败解决方法 这是错误的写法 for (var i:number=1; i<4; i++) { var mc1:mc1 = new mc1(); addchild(mc1); } as3里怎么循环加载库里的mc1 mc2 mc3类 就是下面意思是怎样个的写法 for (var i:number=1; i<4; i++) { var "mc"+i:"mc"+i = new "mc"+i(); addch

代码分析-一道Java笔试题,求解答(关于类的加载与初始化)

问题描述 一道Java笔试题,求解答(关于类的加载与初始化) 自己查了一些资料,还是看不懂这个程序的输出结果,求各位详细解释初始化和执行过程,谢! public class Alibaba { public static int k = 0; public static Alibaba t1 = new Alibaba("t1"); public static Alibaba t2 = new Alibaba("t2"); public static int i =

java运行提示:无法加载主类,觉得程序没错,求指导!!!

问题描述 java运行提示:无法加载主类,觉得程序没错,求指导!!! package 基本语句; public interface 接口 { int a=1; int b=2; int c=3; int d=4; int f=5; void print(); void print1();}class jiekou implements 接口{ public void print() { System.out.println(a+b); } public void print1() { Syste

java-求大神,找不到或无法加载主类!

问题描述 求大神,找不到或无法加载主类! 路径,classpath都没错 javac成功 解决方案 首先javac XXX.java 编译后产生个XXX.class文件,然后java XXX,不要加后缀.class. 解决方案二: 找不到或无法加载主类java 找不到或无法加载主类错误: 找不到或无法加载主类 PersonDemo 解决方案三: 1.Java Hello 不要带.class 2.如果还不行,检查java命令是否OK: 3.还有检查 Hello.java是否在E盘的开发文档文件夹中

javac-java文件问题]错误:找不到或无法加载主类 Hello.java

问题描述 java文件问题]错误:找不到或无法加载主类 Hello.java 编写简单的Hello.java程序,在cmd命令行下用javac Hello.java命令编译没有问题,可以生成Hello.class文件.但输入java Hello命令后(文件目录和命令目录一致),提示错误:"找不到或无法加载主类 Hello.java".安装配置如下JAVA_HOME D:Javajdk1.8.0_45path .;%JAVA_HOME%bin;classpath .;%JAVA_HOME