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

简介: /*当类产生一个实例的时候会加载类的Clsaa对象  JVM根据类名加载class字节码文件 文件 java中所有类都是从object产生的 为什么这么说呢  ?   比如说我们自己定义的类  的 Class对象会自动调用 newInstance函数来返回object类对象  然后 转换成我们的...

/*
当类产生一个实例的时候会加载类的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");
 }
}

目录
相关文章
|
3天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
28 3
|
5天前
|
JavaScript Java 测试技术
基于Java的驾考自主学习预约平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的驾考自主学习预约平台的设计与实现(源码+lw+部署文档+讲解等)
17 0
|
6天前
|
JavaScript Java 测试技术
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的精品课程在线学习系统的设计与实现(源码+lw+部署文档+讲解等)
25 1
|
6天前
|
JavaScript Java 测试技术
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的中文学习系统的设计与实现(源码+lw+部署文档+讲解等)
22 0
|
7天前
|
Java 编译器
Java Character 类
4月更文挑战第13天
|
8天前
|
存储 Java
Java基础教程(7)-Java中的面向对象和类
【4月更文挑战第7天】Java是面向对象编程(OOP)语言,强调将事务抽象成对象。面向对象与面向过程的区别在于,前者通过对象间的交互解决问题,后者按步骤顺序执行。类是对象的模板,对象是类的实例。创建类使用`class`关键字,对象通过`new`运算符动态分配内存。方法包括构造函数和一般方法,构造函数用于对象初始化,一般方法处理逻辑。方法可以有0个或多个参数,可变参数用`类型...`定义。`this`关键字用于访问当前对象的属性。
|
12天前
|
Java Shell
Java 21颠覆传统:未命名类与实例Main方法的编码变革
Java 21颠覆传统:未命名类与实例Main方法的编码变革
13 0
|
12天前
|
Java
Java 15 神秘登场:隐藏类解析未知领域
Java 15 神秘登场:隐藏类解析未知领域
16 0
|
12天前
|
Java 存储
键值之道:深入学习Java中强大的HashMap(二)
键值之道:深入学习Java中强大的HashMap
20 0
键值之道:深入学习Java中强大的HashMap(二)
|
13天前
|
运维 NoSQL 算法
Java开发-深入理解Redis Cluster的工作原理
综上所述,Redis Cluster通过数据分片、节点发现、主从复制、数据迁移、故障检测和客户端路由等机制,实现了一个分布式的、高可用的Redis解决方案。它允许数据分布在多个节点上,提供了自动故障转移和读写分离的功能,适用于需要大规模、高性能、高可用性的应用场景。
16 0