(1)4.1.5节 补充下面的内容: 这里需要注意的是,(静态)非静态成员域在定义时初始化和(静态)非静态块中初始化的优先级是平级的,也就是说按照从上到下初始化,最后一次初始化为最终的值(不包括非静态的成员域在构造器中初始化)。所以在(静态)非静态块中初始化的域甚至能在该域声明的上方,因为分配存储空间在初始化之前就完成了。 如下例所示: public class
testStatic { static {a=2;} static int a =1; static int b = 3; static{ b=4;} public static void main(String[] args) { System.out.println(a); System.out.println(b); } } 程序运行结果为: 1 4 (2)4.1.6节 private与protected不能用来修饰类(只有public、abstract或者final能用来修饰类) 修改为: private与protected不能用来修饰外部类(只有public、abstract或final能用来修饰外部类),但他们可以用来修饰内部类。 (3)4.1.9节 这一节的讲解中提到接口只能有方法的定义,不能有方法的实现。 但是,Java 8引入了接口的默认方法与静态方法,也就是说从Java 8开始,接口也可以包含行为,而不仅仅包含方法的定义。 常见笔试题的题目“不能用来修饰interface的有”修改为“不能用来修饰外部interface的有” (4)4.2.8节 这一节的讲解中提到接口只能有方法的定义,不能有方法的实现。 但是,Java 8引入了接口的默认方法与静态方法,也就是说从Java 8开始,接口也可以包含行为,而不仅仅包含方法的定义。 (5)4.5.3节 书中讲的String内部使用StringBuffer实现的,其实内部是使用StringBuilder实现的,只需要把StringBuffer修改为StringBuilder即可,实现的原理是一致的。 (5)4.6节 书本111页,倒数第五行,System.out.println("execute finally2");修改为System.out.println("execute finally1"); (6)6.1节 1)SQL语句修改为: 修改为: INSERT INTO
SC_C(CNO, CNAME, AVG_GRADE) SELECT SC.CNO, C.CNAME, AVG(SCGRADE) FROM SC, C
WHERE SC.CNO = C.CNO GROUP BY SC.CNO,C.CNAMESC, C WHERE SC.CNO = C.CNO GROUP BY
SC.CNO,C.CNAME 2)SQL语句修改为: DELETE
FROM SC WHERE CNO=(SELECT CNO FROM C WHERE C.CTEACHER ='何昊') AND SNO IN
(SELECT SNO FROM S WHERE SEX='女') 3)大部分数据库不支持这种写法,因此可以忽略这个题目。 4)SQL语句修改为: SELECT SNAME
FROM S WHERE NOT
EXISTS( SELECT * FROM
SC,C WHERE SC.CNO=C.CNO AND CTEACHER='何昊' AND SC.SNO=S.SNO) 6)SQL语句修改为: SELECT
S.SNO,S.SNAME FROM
S,(SELECT SC.SNO FROM SC,C WHERE
SC.CNO=C.CNO AND C.CNAME IN('1','2') GROUP BY SC.SNO HAVING COUNT(DISTINCT C.CNO)=2 )SC WHERE
S.SNO=SC.SNO 7)SQL语句修改为: SELECT
S.SNO,S.SNAME FROM S,( SELECT
SC1.SNO FROM SC SC1,C C1,SC SC2,C C2 WHERE SC1.CNO=C1.CNO AND
C1.CNAME='1' AND SC2.CNO=C2.CNO AND
C2.CNAME='2' AND SC1.SNO =SC2.SNO AND SC1.SCGRADE>SC2.SCGRADE )SC WHERE
S.SNO=SC.SNO 8)SQL语句修改为: SELECT
S.SNO,S.SNAME,SC.grade1,SC.grade2 FROM S,( SELECT
SC1.SNO,grade1=SC1.SCGRADE,grade2=SC2.SCGRADE FROM SC SC1,C C1,SC SC2,C C2 WHERE SC1.CNO=C1.CNO AND C1.CNO=1 AND SC2.CNO=C2.CNO AND
C2.CNO=2 AND SC1.SNO =SC2.SNO AND
SC1.SCGRADE>SC2.SCGRADE )SC WHERE
S.SNO=SC.SNO |
Powered by Discuz! X3.2
© 2001-2013 Comsenz Inc.