四种初始化的位置,不是很清楚哪一种对应那种类型,所以拿出来问问大家:
1、在定义对象的地方。
2、在类的构造器中
3、在正要使用这些对象之前,称为惰性初始化
4、实例初始化代码一:
public class Test{
int a = 10; //这应该属于第一种初始化方式吧?
int b = 20;
}
}代码二:
public class Test{
int a;
int b;
Test(){
a = 10; //这应该是第二种,在构造器里
b = 20;
}
}代码三:
public class Test{
public static void main(String[] args){
int a = 10; //这应该是第四种吧?
int b = 20;
}
}代码四:
public class Test{
Test(){}
public String toString(){
int a = 10; //这种方式不知道是不是惰性初始化,因为惰性初始化从来没见过,猜的
int b = 20;
return "a " + a +
"b " + b;
}
}回复的时候请按顺序告知,是错是对,如果代码1,2,3,4中哪段有问题,请指出,谢谢!!
1、在定义对象的地方。
2、在类的构造器中
3、在正要使用这些对象之前,称为惰性初始化
4、实例初始化代码一:
public class Test{
int a = 10; //这应该属于第一种初始化方式吧?
int b = 20;
}
}代码二:
public class Test{
int a;
int b;
Test(){
a = 10; //这应该是第二种,在构造器里
b = 20;
}
}代码三:
public class Test{
public static void main(String[] args){
int a = 10; //这应该是第四种吧?
int b = 20;
}
}代码四:
public class Test{
Test(){}
public String toString(){
int a = 10; //这种方式不知道是不是惰性初始化,因为惰性初始化从来没见过,猜的
int b = 20;
return "a " + a +
"b " + b;
}
}回复的时候请按顺序告知,是错是对,如果代码1,2,3,4中哪段有问题,请指出,谢谢!!
解决方案 »
- 求字符串中字符的个数,在线等
- jar包用winRar解压,然后又压缩并改后缀rar为jar有什么问题吗
- JAVA问题
- java中有没有类似C++的类型强制转换??
- hashmap的一个不太明白的问题
- 一个简单的java程序,找不到main()函数 ,请大家帮我找找原因?
- 在原文件中使用了javax.comm,结果生成的jar文件只能在c:\java\jdk1.5.0_08\bin下用java -jar来执行,其他路径都不行,请各位帮看看
- 一个关于类变量和类方法的问题,很多书上只是说如何去使用它,并没说出为什么可以这样用!大家进来说你们的看法吧!
- 请问在Linux里,如何用JAVA读取内存里的PATH设置
- 大佬救救萌新吧!js老是报Functions declared within loops referencing an outer scoped variabl
- java io流 关闭问题
- 请问一个线程类用start()方法开始和直接用它的run()方法开始有什么区别吗?
楼主【llm0528】截止到2008-07-15 10:30:35的历史汇总数据(不包括此帖):
发帖的总数量:54 发帖的总分数:1080 每贴平均分数:20
回帖的总数量:46 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:54 结贴的总分数:1080
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
public class Test{
{
int a = 10; //这属于哪种?
int b = 20;
}
}
public class Test {
int a;
public int getA() {
return a;
} public void setA(int a) {
this.a = a;
}
public static void main(String[] args) {
Test test = new Test();
test.setA(66);//惰性初始化
}}4.
public class Test {
int a;
public Test(int a) {
this.a = a;
}
public static void main(String[] args) {
Test test = new Test(66);//实例初始化
}
}
{
int a = 10; //这属于哪种?
int b = 20;
}
}
PS:这种才是实例初始化吧?见《Thinking in Java 3rd Edition》
你的代码三和代码四,不属于任何对象的初始化,是primitive 的,只是一个方法里面的局部变量罢了。声明的时候就需要初始化,它不会自动初始化的,不然在使用的时候要报错。