JAVA编程思想第四版读书笔记(有一丢丢实习项目经验后回顾)

2.1:一切都是对象,但是创建的是引用,如String s;创建引用来控制对象,new关键字表示“给我一个新对象”,所以String s = new String("abc");

3.4:赋值,对象赋值,操作的是引用,如c=d则意味着c,d都指向了d的引用,此时改变d,c一直跟着改变。

3.8.1:短路,与或非时,逻辑表达式不必全部计算,如test(1)&test(2)&test(3),当test(1)为false时,后续不需要计算,使潜在性能提升。

4.3:while()与do while()不同之处在于do while()至少执行一次,while使用更为普遍

4.4:foreach语句,如有一个int型数组a[10],for(int x:a){print(x);}即可输出每一个数组元素。

4.7:标签,比如:


	@Test
	public void poitest(){
		int i=0;
		int j=0;
		int1:
		while(true){
			System.out.println("iiii:"+i++);
			while(true){
				System.out.println("jjjj:"+j++);
				if(j%3==0){
					System.out.println("j break");
					break;
				}
			}
			if(i==3){
				break int1;
			}
		}
	}

int1为标签,标签的内容为while循环。break时可以直接指定内容,但是,并不推荐标签,会使程序难以分析,使用的唯一理由为嵌套循环的存在,想在多层嵌套中break或者continue

5.3:构造器,如果已经定义了构造器(无论是否带参数),编译器都不会再默认创建构造器,比如

class bird{
    bird(int a){
    }
}

main{
    bird bird = new bird();//就会报错,因为没有默认的无参构造器,必须带Int参数
}

5.7:构造器初始化:变量定义在任何方法(包括构造器)之前初始化,先静态,再非静态,

8:初始化问题:先祖先类构造器,再父类构造器,再构造器,再申明变量顺序

多态继承的使用范畴-->is a ,当两者关系为“是一个”时可以考虑使用extends方便确定基类方法变量

后续的枚举、Swing等等,个人拙见:有的完全没必要看,比如图形化(使用过Java Swing+awt写过象棋,但已经淘汰的技术了)。感觉有一定经验后这本书的附加价值不太高,现在的项目目的性太明显,比如需要查看jsonobject的所有数据,用enum枚举时百度就行了,不太需要知道的太多,而且枚举本来也有弊端,不如迭代器

有几个词都忘了,泛型、反射、多态等,可以复习一下

猜你喜欢

转载自blog.csdn.net/qq_36187544/article/details/81169481