java 初始化与实例化的区别

class A{
  public A(){
    ……//初始化
}
 public static void main(String args[]){
  A a(指定一个类型为A的引用A)=new A()(实例化,初始化就是执行A的构造函数,见上,如无则调用默认的);
}
那么A a;是实例化,a=new A();是初始化创建一个对象。对吗? 
初始化是赋值,实例化是
 只有 A a;既不是初始化,也不是实例化,只是一个声明而已。
A a = new A();//new A 才是实例化
初始化,比如,你声明了一个对象引用,Object o = null;这就是把这个引用初始化一下
初始化:在程序RUN的一瞬间,什么类啊,静态的东西啊(静态块,静态方法,静态属性),刷刷刷的就在内存中加载(你可以看作初始化)了,只加载一次,
实例化:然后main方法开始运行(这就是为什么main方法必须是静态的原因),然后执行main中的代码语句,执行到new对象时,才会实例化对象,
记住:类加载,只执行一次,即只有有一个类对象(注意不是实例对象),无论你以后怎么个new法,新new的都是实例对象

猜你喜欢

转载自blog.csdn.net/qq_42239069/article/details/83177150