public static void main(String args[]){
A a=new A();
}
}
那么A a;是实例化,a=new A();是初始化。对吗?
小弟实在搞不清这两个有什么区别?初始化是赋值。
那么来个“实例化”有什麼用阿?仅仅创建一个对象根本没用嘛。。。
9 个解决方案
#1
class A{
public A(){
……//初始化
}
public static void main(String args[]){
A a(指定一个类型为A的引用A)=new A()(实例化,初始化就是执行A的构造函数,见上,如无则调用默认的);
}
}
public A(){
……//初始化
}
public static void main(String args[]){
A a(指定一个类型为A的引用A)=new A()(实例化,初始化就是执行A的构造函数,见上,如无则调用默认的);
}
}
#2
只有 A a;
既不是初始化,也不是实例化,只是一个声明而已。
A a = new A();//new A 才是实例化
初始化,比如,你声明了一个对象引用,Object o = null;这就是把这个引用初始化一下。
当然了,初始化还可以是比如Servlet,被加载后要进行必要的初始化,好让以后的操作得以执行啊。
#3
楼上的
A a = new A();//new A 才是实例化
那么初始化在哪里?是new A()自动调用A的构造函数算是初始化吗?
A a = new A();//new A 才是实例化
那么初始化在哪里?是new A()自动调用A的构造函数算是初始化吗?
#4
对象实例化的同时就会分配存储空间,然后对成员变量进行初始化赋值,再执行构造函数。这个过程就是对象初始化。调用构造函数只是初始化的一部分。
#5
貌似有点懂了。。。。
请问各位大大,从哪里可以更深入的了解类的初始化与实例化阿?
请问各位大大,从哪里可以更深入的了解类的初始化与实例化阿?
#6
市面上哪本java基础书都会讲这些的。这些都是J2SE的内容。
#7
去书店,找本基础的书,翻下就OK了
#8
如果懒得看书,建议看马士兵的视频教程,里面分析的好详细。
我也稍微说一下
A a = new A();
new 创建对象过程:
1.类加载
代码验证
2.给对象在内存(堆)中分配空间(给属性赋值);
3.属性赋默认值;
byte,short.int,long ->0
float ->0.0f
double ->0.0
boolean ->false
String ->null
char ->'\u0000'
4.给属性赋初始值;(用等号‘=’)
5.调用构造方法(方法和类名相同,没有返回类型)
6.将对象在堆区中的首地址返回给引用a
我也稍微说一下
A a = new A();
new 创建对象过程:
1.类加载
代码验证
2.给对象在内存(堆)中分配空间(给属性赋值);
3.属性赋默认值;
byte,short.int,long ->0
float ->0.0f
double ->0.0
boolean ->false
String ->null
char ->'\u0000'
4.给属性赋初始值;(用等号‘=’)
5.调用构造方法(方法和类名相同,没有返回类型)
6.将对象在堆区中的首地址返回给引用a
#9
謝謝各位好心人,没办法分不够了....
#1
class A{
public A(){
……//初始化
}
public static void main(String args[]){
A a(指定一个类型为A的引用A)=new A()(实例化,初始化就是执行A的构造函数,见上,如无则调用默认的);
}
}
public A(){
……//初始化
}
public static void main(String args[]){
A a(指定一个类型为A的引用A)=new A()(实例化,初始化就是执行A的构造函数,见上,如无则调用默认的);
}
}
#2
只有 A a;
既不是初始化,也不是实例化,只是一个声明而已。
A a = new A();//new A 才是实例化
初始化,比如,你声明了一个对象引用,Object o = null;这就是把这个引用初始化一下。
当然了,初始化还可以是比如Servlet,被加载后要进行必要的初始化,好让以后的操作得以执行啊。
#3
楼上的
A a = new A();//new A 才是实例化
那么初始化在哪里?是new A()自动调用A的构造函数算是初始化吗?
A a = new A();//new A 才是实例化
那么初始化在哪里?是new A()自动调用A的构造函数算是初始化吗?
#4
对象实例化的同时就会分配存储空间,然后对成员变量进行初始化赋值,再执行构造函数。这个过程就是对象初始化。调用构造函数只是初始化的一部分。
#5
貌似有点懂了。。。。
请问各位大大,从哪里可以更深入的了解类的初始化与实例化阿?
请问各位大大,从哪里可以更深入的了解类的初始化与实例化阿?
#6
市面上哪本java基础书都会讲这些的。这些都是J2SE的内容。
#7
去书店,找本基础的书,翻下就OK了
#8
如果懒得看书,建议看马士兵的视频教程,里面分析的好详细。
我也稍微说一下
A a = new A();
new 创建对象过程:
1.类加载
代码验证
2.给对象在内存(堆)中分配空间(给属性赋值);
3.属性赋默认值;
byte,short.int,long ->0
float ->0.0f
double ->0.0
boolean ->false
String ->null
char ->'\u0000'
4.给属性赋初始值;(用等号‘=’)
5.调用构造方法(方法和类名相同,没有返回类型)
6.将对象在堆区中的首地址返回给引用a
我也稍微说一下
A a = new A();
new 创建对象过程:
1.类加载
代码验证
2.给对象在内存(堆)中分配空间(给属性赋值);
3.属性赋默认值;
byte,short.int,long ->0
float ->0.0f
double ->0.0
boolean ->false
String ->null
char ->'\u0000'
4.给属性赋初始值;(用等号‘=’)
5.调用构造方法(方法和类名相同,没有返回类型)
6.将对象在堆区中的首地址返回给引用a
#9
謝謝各位好心人,没办法分不够了....