java编程思想这本书,真的是越看越好。第一遍看,看了一多半,看不动了,觉得没啥意思呀,为什么就是经典呢?看了一多半也是硬着头皮看的。后来慢慢接触java时间久了,偶然又翻起java编程思想,这次觉得,咦,原来这些东西以前看过呀,但是为什么当时看的时候没有注意到呢?好吧,又拿起java编程思想看了起来,依旧是看了一多半,觉得挺好的,不过觉得说的有点过于细致,没什么意思,再一次放下了。
这几天,又是偶然拿起了java编程思想,仔细读一读,突然也许这真的是经典,以前看的,真的是皮毛之皮毛呀,哎,果断没掌握精髓,既然如此,那就需要继续看了,上一次也是谢了几十篇博客,不过觉得上次写的不好,虽然我知道这一次写的也不会特别好,但是还是决定不要接着上次写了,毕竟有一句话说的好,我一直视为至理名言:
只要方向错了,不管走了多久,都要重新开始!
我决定这一次再一次重新开始写。不过这一次我决定不要写的那么细致了,不要说那么多没用的,在别人博客也可以找到的那就没什么必要写了。我就写一些现在我看的过程中还有些不懂的,新学到的,属于解惑性质的。如果刚刚看java就直接看我这个没什么用处。我不用刚开始学的时候的思维去思考了,就是这样。言归正传,开始写。
java编程思想——第5章
1.用构造器保证对象被正确初始化,为了适应不同的情况,构造器可以重载。
不可以靠返回值区分重载方法。
如果不主动定义构造器,有默认无参构造器
2.this关键字
RClass cla1 = new RClass();
RClass cla2 = new RClass();
cla1.deal();
cla2.deal();
为什么上面的代码知道是哪一个对象执行方法呢?可以这样理解,this被偷偷当做传进方法,就想这样:
cla1.deal(this);
变量的初始化在方法的初始化之前。静态->非静态的>静态作用域->构造方法。
数组初始化:
int[] a;
a=new int[100];
可变参数列表:
public class Test{
public void deal(Object... args){
for(Object o: args){
System.out.println(args);
}
return;
}
public void deal2(){
deal(1,2,3,"a");
deal((Object[])new Integer[]{1,2,3,4});
}
}
可变参数也不建议使用。
枚举类型:enum
public enum Test{
ONE,TWO,THREE;
}
在switch中使用enum是个很好的决定,这绝对不是从英文翻译过来的。