美文网首页
类的初始化与实例化

类的初始化与实例化

作者: MC_Honva | 来源:发表于2018-06-11 17:04 被阅读11次

JAVA创建对象的四种方法

  1. 通过关键字new
  2. 通过Java反射
  3. 通过clone方法
  4. 通过序列化方式

  • 通过new关键字创建

这个就不用解释了

  • 通过Java反射
Class.forName("类全限定名").newInstance();
或者
类.class.newInstance()
  • 通过clone方
    类需要先实现cloneable接口,并重写clone方法
public class Demo implements Cloneable{

    @Override
    protected Object clone() throws CloneNotSupportedException {
        return super.clone();
    }
    
}

public class Run {
    public static void main(String[] args){
        try {
            Demo d = new Demo();
            Demo d2 = (Demo) d.clone();
        } catch (CloneNotSupportedException e) {
            e.printStackTrace();
        }
    }
}

类的初始化时机与过程

public class StaticTest {
    public static void main(String[] args) {
           staticFunction();
       }

       static StaticTest st = new StaticTest();
       

       static {   //静态代码块
           System.out.println("1");
       }
       int a = 110;    // 实例变量

       {       // 实例代码块
           System.out.println("2");
       }

       StaticTest() {    // 实例构造器
           System.out.println("3");
           System.out.println("a=" + a + ",b=" + b);
       }

       public static void staticFunction() {   // 静态方法
           System.out.println("4");
       }

       static int b = 112;  
}
----------
2
3
a=110,b=0
1
4

结论:实例变量和实例代码块执行顺序要优于实例构造函数,而实例变量和示例代码块的优先顺序取决于他们代码的位置,谁在前谁先执行。静态变量、静态代码块、静态方法同样如此。


详细大神讲解链接
深入理解Java对象的创建过程:类的初始化与实例化

相关文章

  • Map

    Job类初始化JobClient实例,JobClient中生成JobTracker的RPC实例,这样可以保持与Jo...

  • C++中类的初始化与赋值

    在很多情况中对类进行实例化时直接初始化与赋值初始化是对等的,但是在某些时候还是存在差别 在将类生成实例的过程中直接...

  • 初始化(Initialization)

    初始化概念: 类、结构体、枚举需要通过初始化对应的实例对象,来完成相应的功能。每一个实例初始化有相应的初始化方法。...

  • NSString & NSMutableStirng

    NSString 初始化 stringWithFormat: //类方法 initWithFormat: //实例...

  • 类的初始化与实例化

    JAVA创建对象的四种方法 通过关键字new 通过Java反射 通过clone方法 通过序列化方式 通过new关键...

  • 自整理1

    1.java类的实例的初始化过程: 静态变量->静态代码块->main->实例变量->实例初始化块->构造器 加载...

  • Python Magic and Builtin Method

    构造和初始化 __new__用来调用这个类,并返回这个类的实例 __init__只是将传入的参数来初始化该实例 控...

  • 类的初始化和实例初始化

    类初始化过程 一个类要创建实例需要先加载并初始化该类main方法所在的类需要先加载和初始化 一个子类要初始化需要先...

  • [Objective-C]1、类,对象,方法

    1、类的独特存在就是一个实例(对象),对实例执行的操作称作方法。 2、实例初始化:1.初始化方式:alloc :方...

  • 第15章:反初始化

      在类构造实例的时候会调用类的初始化方法,当类被销毁的时候会调用类的反初始化方法,关于反初始化方法有以下几点请注...

网友评论

      本文标题:类的初始化与实例化

      本文链接:https://www.haomeiwen.com/subject/wpmheftx.html