Java试题简答题

Java

1、  简述java语言的特点?       1.2

Java语言是目前使用最为广泛的网络编程语言之一  (1)

具有面向对象                                  (1)

与平台无关性                                  (1)

多线程性                                      (1)

动态性等特点                                  (1)

2、  简述Java程序的开发过程?        1.3

(1)       使用一个文字编辑器,编写源文件。           1分)

(2)       使用java编译器,编译源文件得到字节码文件。    2分)

(3)       运行java程序,分两种java应用程序必须通过java解释器来解释执行,java小应用程序必须使用解释器和浏览器运行程序。                                       2分)

3、  java源文件的命名规则是什么?    1.3

  如果源文件中有多个类,那么只能有一个类是public    1分)

  如果有一个类是public类,源文件的名字必须与这个类的名字完全相同,扩展名是java        2分)

  如果源文件没有public类,源文件的名字只要和某个类的名字相同,并且扩展名是java                                  2分)

4、  怎样区分应用程序和小应用程序?          1.4

 一个java应用程序必须且只有一个类含有main方法,这个类称为应用程序的主类,其main方法必须被说明为public static void  (2.5)

一个Java Applet小应用程序不再需要main方法,但必须有一个类扩展了Applet类,即它是Applet类的主类。                2.5分)

5、  Java中共有哪些基本数据类型?    2.2

基本类型共有8种,分四类分别是         1分)

逻辑型                                 1分)

字符型                                 1分)

整型                                   1分)

浮点型                                 1分)

6、  Java中数据类型分别用什么符号来表示的?  2.2

逻辑型用boolean 表示                       1分)

字符型用char表示                            1分)

整型共有4种分别是  byteshortlongint      2分)

浮点型共两种floatdouble                      1分)

7、  简答标示符的概念及定义原则?    2.1

标示符是用来标识类名、变量名、方法名、类型名等有效字符序列。                                             2.5分)

Java语言规定标示符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字,及java中的关键字不能用作标示符。(2.5分)

8、  简答什么是强制类型转换及转换格式?      2.2

当把一种数据类型变量的值赋给另一种数据类型时会用到数据转换。当把在内存中占字节数较少的变量的值赋给占字节较多的变量时,系统自动完成数据类型的转换                        2.5分)

格式:(数据类型名)变量名或表达式               2.5分)

9、  简答表达式++xx++的区别       3.1

++x表示在使用x之前,先使x的值加1            2.5

x++表示在使用x之后,使x的值加1               2.5

10、              Java中常用的运算符按功能分有哪些?    3.1

Java运算符按功能分6种,具体如下         1分)

算术运算符、关系运算符、逻辑运算符          2分)

位运算符、赋值运算符、条件运算符            2分)

11、              Java中结构化程序设计有哪三种基本流程,及分别对应java中那些语句?   3.2

结构化程序设计有顺序、分支、循环三种基本流程         2分)

java中的分支语句包括if语句、switch语句;             1分)

循环语句包括while语句、do-while语句、for语句;        1分)

其他如对象、变量定义语句、赋值语句、方法调用语句等都是顺序语句。                                             1分)

12、              在一个循环中使用breakcontinue语句有什么不同的效果?3.2

在循环中使用break语句,将使循环终止,流程跳转到break语句所在的循环外面的第一个语句继续执行    2.5分)

在循环中使用continue语句,将提前结束本次循环,流程跳转到continue语句所在循环的第一个语句继续执行    2.5分)

13、              package语句与import语句分别作用是什么?  3.2

package语句作为java源程序的第一条语句,指明该源文件定义的类所在的包。          2.5分)

import语句作用是为了能使用java提供的类,可以使用import语句来引入所需要的类。    2.5分)

14、              简述编程语言的几个发展阶段?  4.1

(1)       面向机器语言    (1)

(2)       面向过程语言         (1)

(3)       结构化程序设计阶段     (1)

(4)       面向对象编程        (2)

15、              什么是类及类的实现包括什么?  4.2

类是组成java程序的基本要素        (1)

类封装了一类对象的状态和方法      (1)

类是用来定义对象的模板           (1)

类的实现包括两部分:类声明和类体     (2)

16、              什么是方法重载?  4.2

方法重载是指,一个类中可以有多个方法具有相同的名字和类型(2分)

但这些方法的参数必须不同(1)

或者是参数个数不同,或者是参数类型不同(2)

17、              什么是构造方法?  4.2

构造方法是一种特殊方法     (1)

它的名字必须与它所在的类的名字完全相同    (2)

并且不返回任何数据类型,即它是void     (2)

18、              什么是实例变量和类变量及他们的区别?  4.3

用修饰符static说明的变量是类变量,其他是实例变量  2分)

不同对象的实例变量将分配不同的内存空间       1分)

所有对象的类变量都分配给相同的一处内存,改变其中一个对象的类变量的值,会影响其他对象的这个类变量的值。    2分)

19、              什么是实例方法和类方法及他们的区别?  4.3

用修饰符static说明的方法是类方法,其他是实例方法 2分)

当一个类创建了一个对象后,这个对象就可以调用该类的方法(1分)

区别就在于类方法不仅可以有对象调用而且还可以直接由类名调用

而实例方法不能由类名调用。(2分)

20、              创建一个对象包括哪些过程?   4.3

创建一个对象分两个步骤        1分)

1)对象的声明,格式是:类的名字  对象名    2分)

2)为声明的对象分配内存,使用new运算符和类的构造方法为声明的对象分配内存,如果类中没有构造方法,系统会调用默认的构造方法     2分)

21、              为什么说构造方法是一种特殊方法及由谁调用?4.3

构造方法的名字和类名相同,且没有任何返回值   2.5分)

创建一个对象是执行构造方法,由系统自动调用    2.5分)

22、              类及类成员的访问控制符有哪些,并说明私有权限和公有权限的使用方法?   4.4

控制符有4种:public  protected   private   privateprotected(2.5)

其中private权限的成员只能在本类中使用,public公有权限的成员不但能在本类中使用,还可在类外使用。(2.5)

23、              简述什么是类的继承机制?   4.5

继承是一种由已有的类创建新类的机制  1分)

利用继承可以创建一个共有属性的一般类,根据该一般类再创建具有特殊属性的新类   1分)

新类继承一般类的状态和行为,并根据需要增加它自己的新的状态和行为     1分)

由继承而得到的类称为子类  1分)

被继承的类称为父类     1分)

24、              简述如何会发生成员变量的隐藏和方法重写?  4.5

当子类中定义的成员变量和父类中的成员变量同名时,则父类中的成员变量不能被继承,此时称子类的成员变量隐藏了父类的成员变量。(2.5分)

当子类中定义了一个方法,并且这个方法的名字、返回类型、及参数个数和类型跟父类的某个方法完全相同时,父类方法被隐藏,即重写了父类的方法。  2.5分)

25、              final修饰符修饰的类和方法有什么特点?

final修饰的类不能被继承,即不能有子类。   (2.5)

final修饰的方法不能被重写     (2.5)

26、              abstract修饰符修饰的类和方法有什么特点?

abstract修饰的类不能创建对象,必须产生子类,有子类创建对象(2分)

abstract修饰的方法只允许声明,而不允许实现。(2分)

如果一个类是一个abstract类的子类,它必须实现父类的abstract方法。   1分)

27、              关键字super如何使用?

子类继承父类时可能会发生父类的成员变量被隐藏和父类中的成员方法被重写  1分)

如果在子类中想使用被子类隐藏的父类的成员变量或方法就可以使用关键字super    2分)

super可以调用父类的构造方法和操作被隐藏的成员变量和方法  2分)

28、              java是否支持多继承及java中采取什么机制来代替多重继承?

Java不支持多继承,即一个类只能有一个父类。    2分)

单继承性使得java简单,易于管理程序   1分)

为了克服单继承的缺点,java使用了接口,一个类可以实现多个接口(2分)

29、              java中如何定义和使用接口?

使用关键字interface来定义一个接口,接口的定义和类的定义很相似,分为接口的声明和接口体。(2)

一个类通过关键字implements声明自己使用一个或多个接口,如果使用多个接口,则用逗号隔开接口。(2)

如果一个类使用某个接口,那么这个类必须实现该接口的所有方法(1)

30、              一个Java Applet的生命周期包括什么?

一个Java Applet的执行过程称为这个Java Applet的生命周期  (2)

一个完整的Java Applet所包含5个方法init( ) start( )   1分)

stop( )destroy( )   1分)

paint(Graphics  g)   1分)

31.     处理选择(Choice)控件上的事件?

选择控件的选择情况发生变化会产生HemEvent事件                  (1)

处理该事件的接口是HemListener                                   (1)

接口中的方法是ItemStateChanged(HemEvent e)                       (1)

事件源获得监视器的方法是addHemListener( )                        (1)

处理该事件时,如果想获得事件源可调用方法getHemSelectable( )       (1)

32、如何处理滚动列表(List)上的事件? 

滚动列表可产生两种事件:双击和单击某项                                     (1)

当双击某项时,产生ActionEvent事件,获得事件监视器的方法是addActionListener( ),处理事件的接口是ActionListener               (1)

接口中的方法是ActionPerformed(ActionEvent e),获得该事件的事件源的方法是

getSource( )                          (1)

当单击某项时,产生HemEvent事件,获得事件监视器的方法是addHemListener( ),处理事件的接口是HemListener                   (1)

接口中的方法是itemStateChanged(HemEvent e),获得该事件的事件源的方法是getHemSelectable                     (1)

33、何设置组件的字体和颜色?     

(1)设置字体:Font类创建一个字体对象,该对象表示一种字体                    (1)

   通过组件对象名调用方法SetFont(Font f),即可设置组件的字体                  (1)

(2)设置颜色:Color类创建两个颜色对象,表示两种颜色,一种颜色表示组件的前景色,另一种表示背景色     (1)

   通过组件对象名调用方法SetBackground(Color C)可设置组件的背景色           (1)

   调用方法SetForeground(Color C)可设置组件的前景色                         (1)

34、何在窗口中增加菜单?

MenuBar创建一个对象,表示一个菜单条,使用Fram中的方法SetMenuBar(MenuBar),可在窗口中增加一个菜单条    (1)

Menu创建若干个对象,每一个对象表示菜单条上的一个菜单项                  (1)

通过MenuBar的对象add(Menu)将一个菜单加到菜单条上                         (1)

MenuItem创建若干对象,每一个对象表示一个具体的菜单项                     (1)

通过Menu对象调用方法add(MenuItem)可将一个菜单项加入到一个菜单中          (1)

35、如何处理菜单上的事件?

单击菜单项可产生ActionEvent事件                                           (1)

处理该事件的接口是Actionlistener                                            (1)

接口中的方法是actionPerformed(ActionEvent e)                                 (1)

事件源获得监视器的方法是addActionListener( )                                 (1)

ActionEvent获得事件源的方法是getSource( )                                   (1)

36、如何增加菜单分割线?如何产生复选菜单项? 

通过Menu类的对象调用方法addSeparator( ),可在当前菜单中增加一个分割线        (2)

CheckboxMenuItem创建一个菜单项                                         (1)

通过Menu类的对象调用方法add(CheckboxMenuItem)将菜单项加入到菜单中,即可创建一个复选菜单项  (2)

37、如何绘制封闭的多边形? 

使用Graphics中的drawpolygon(int xPoints[ ],int yPoints[ ],int nPoints)方法可绘制多边形   (2.5)

要绘制封闭的多边形,xPointsyPoints表示的第一点和最后一点必须相同         (2.5)

38、什么是XOR绘图模式? 

可调用方法SetXORMode( )将绘图模式设为XOR                               (2.5)

使用XOR模式时,绘制的图形颜色为当前的绘图颜色与所绘图形经过的区域颜色作XOR运算后所得    (2.5)

39、何处理MouseMotionListener接口事件?  

鼠标移动事件有两种:拖动鼠标和移动鼠标                   (1)

产生的事件类型MouseEvent                               (1)

获得监视器的方法是addMouseMotionListener( )               (1)

事件接口中的方法为mouseDragged(MouseEvent e)             (1)

mouseMoved(MouseEvent e)                              (1)

40、何处理键盘事件?

当按下,释放或敲击键盘上一个键时,就会产生事件KeyEvent                       (1)

事件的接口为KeyListener                                                    (1)

事件获得监视器的方法addKeyListener( )                                       (1)

事件的处理方法有三个,分别是keyPressed(KeyEvent e),keyTyped(KeyEvent e)keyReleased(KeyEvent e)   (2)

41、用向量类的对象存储数据与用数组表示数据有什么区别? 

(1)数组元素可以是任何类型的数据,向量中的元素不能是基本数据类型的数据      (2.5)

(2)数组一旦用new运算符创建后,其大小不可以改变,向量对象的大小可根据元素的增加自动增加   (2.5)

42、Java中多线程是如何调度的?  

线程调度器负责线程的排队和处理器在线程间的分配                           (2.5)

线程在优先级基础上依据"先到先服务"的原则,即相同优先级的线程按启动的先后顺序执行,

高优先级线程先于低优先级运行                                             (2.5)

43、Applet中如何播放声音? 

使用Applet中的一个静态方法newAudioClip(URL url,String name)         (2)

Applet类的实例方法:getAudioClip(URL url,String name)                (2)

可得一个音频AudioClip的对象,通过该对象调用方法play( )可播放声音    (1)

44、线程中的方法wait(),notify()notifyAll()的作用是什么? 

(1)当一个线程使用的同步方法中用到某个变量,而此变量又需要其它线程修改后才能符合本线程的需要,则可以在同步方法中调用wait()方法,使本线程等待,并允许其它线程调用这个同步方法        (2)

(2)其它线程在使用这个同步方法不需要等待,当它使用完这个同步方法时,notifyAll()通知所有由于使用这个同步方法而处于等待的线程结束,再次使用这个同步方法          (2)

(3)如果使第一个处于等待的线程结束等待,则调用方法notify()                     (1)

45、如何用套接字建立两个程序间的通信?                              

(1)Socket类建立客户到服务器的套接字的对象:Socket(String host,int port)         (2)

(2)ServerSocket建立接受客户套接字的服务器套接字对象:ServerSocket(int port)客户端与服务器端的端口号相同                                                      (2)

(3)客户端服务器对象调用方法accept()接受客户的套接字

创建客户端套接字对象,服务器端套接字对象和调用方法accept()时都可能产生IOException,所以需对例外进行处理     (1)

46、Java中采用什么方法与数据库交互?

可以采用二种方法:                                                         (1)

(1)或者编写一个驱动程序接受JDBC调用,执行SQL对数据库的调用               (2)

(2)或者使用已存在的ODBC驱动程序,JDBC-ODBC桥将JDBCODBC连接起来 (2)

47、简述Java中打开与数据库连接的步骤? 

(1)装载数据库驱动程序类                                              (2.5)

(2)调用DriverManager的方法getConnection( ),并确定用于连接数据库的驱动程序,数据库文件名以及可选的用户ID和密码                                         (2.5)

48、JDBC有哪几个主要任务?  

(1)建立同数据库的连接          (1)

(2)发送SQL语句               (2)

(3)处理查询结果                (2)

49、创建一个File对象有哪几种构造方法? 

(1)包含路径名的字符串                                      (1)

(2)含有路径名的字符串和含文件名的字符串                    (2)

(3)一个代表路径的文件和一个含有文件名的字符串              (2)

50、Java中的线程和多线程指的是什么?      

(1)称程序中单个序列化的流控制为线程                        (2.5)

(2)多线程指的是在一个程序中可定义多个线程并同时运行它们,每个线程可以执行不同的任务    (2.5)

51、线程有哪些状态?它们是如何转换的?    

线程在它的生命周期中有四种状态:创建        (2)

                               运行        (1)

                               挂起        (1)

                               结束        (1)

52、什么是同步机制?      

(1)使共享对象将自己的成员方法定义为同步化方法        (1)

(2)通过调用同步化方法来执行单一线程                  (2)

(3)其他线程不能同时调用一对象的同步化方法            (2)

53、简述向服务器发送信息的步骤?  

(1)创建URL对象    

(2)建立连接到URL对象的通道    (1)

(3)指定这个通道可输出           (1)

(4)指定通道所用的输出流         (1)

(5)向输出流写入数据             (1)

(6)关闭输出流                   (1)

54、比较多线程与多任务的异同?   

(1)多任务是针对操作系统而言的,表示操作系统可以同时执行多个程序         (2.5)

(2)多线程则是针对一个程序而言的,表示一个程序内部可以同时执行多个线程   (2.5)

55、向窗口添加菜单有哪几个步骤?  

(1)生成菜单组件各个部分的对象                              (2.5)

(2)进行菜单组装,即把菜单加到菜单条上,把菜单项加到菜单中     (2.5)

56、ava.io包中封装的基本流类有哪几个?   

共有四个                                     (1)

包括基于Unicode字符的输入流Reader           (1)

                     输出流Writer             (1)

    基于二进制字节的输入流InputStream         (1)

输出流OutPut Stream      (1)

57、创建线程有哪些方法?   

(1)通过继承线程类Thread创建线程类                (2.5)

(2)建立一个实现Runnable接口的类来运行线程      (2.5)

58、简述MouseEvent类的主要方法.   

getX( )               (1)

getY( )               (1)

getModifiers( )         (1)

getClickCount( )        (1)

getSource( )            (1)

59、对话框能独立存在吗?其默认布局是什么?    

不能                                  (2.5)

其默认布局是BorderLayout布局          (2.5)

60、Graphics类中,Java提供了哪几种文字输出方法?         

(1)字符串输出方法 drawString(String string ,int x,int y)                      (1)

(2)字符输出方法  drawChars(char chars[ ],int offset,int number,int x,int y)       (2)

(3)字节输出方法  drawBytes(byte bytes[ ],int offset,int number,int x,int y)        (2)

 

 

你可能感兴趣的:(java,applet,数据库驱动程序,多线程,数据库,服务器)