请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

猿媛之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
猿媛之家 勘误 查看内容

Java程序员面试笔试宝典勘误

2018-9-13 14:45| 发布者: admin| 查看: 129| 评论: 0

摘要: (1)4.1.5节 补充下面的内容: 这里需要注意的是,(静态)非静态成员域在定义时初始化和(静态)非静态块中初始化的优先级是平级的,也就是说按照从上到下初始化,最后一次初始化为最终的值(不包括非静态的成员域 ...

14.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

 

24.1.6

privateprotected不能用来修饰类(只有publicabstract或者final能用来修饰类)

修改为:

privateprotected不能用来修饰外部类(只有publicabstractfinal能用来修饰外部类),但他们可以用来修饰内部类。

34.1.9

这一节的讲解中提到接口只能有方法的定义,不能有方法的实现。

但是,Java 8引入了接口的默认方法与静态方法,也就是说从Java 8开始,接口也可以包含行为,而不仅仅包含方法的定义。

 

常见笔试题的题目“不能用来修饰interface的有”修改为“不能用来修饰外部interface的有”

44.2.8

这一节的讲解中提到接口只能有方法的定义,不能有方法的实现。

但是,Java 8引入了接口的默认方法与静态方法,也就是说从Java 8开始,接口也可以包含行为,而不仅仅包含方法的定义。

54.5.3

书中讲的String内部使用StringBuffer实现的,其实内部是使用StringBuilder实现的,只需要把StringBuffer修改为StringBuilder即可,实现的原理是一致的。

66.1

1SQL语句修改为:

修改为:

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

2SQL语句修改为:

DELETE FROM SC WHERE CNO=(SELECT CNO FROM C WHERE C.CTEACHER ='何昊') AND SNO IN (SELECT SNO FROM S WHERE SEX='')

 

3)大部分数据库不支持这种写法,因此可以忽略这个题目。

4SQL语句修改为:

SELECT SNAME FROM S

WHERE NOT EXISTS(

SELECT * FROM SC,C WHERE SC.CNO=C.CNO AND CTEACHER='何昊' AND SC.SNO=S.SNO)

6SQL语句修改为:

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

7SQL语句修改为:

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

 

8SQL语句修改为:

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

 

 


鲜花

握手

雷人

路过

鸡蛋

QQ|Archiver|手机版|小黑屋|猿媛之家    

GMT+8, 2018-10-19 13:45 , Processed in 0.077063 second(s), 20 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

返回顶部