欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java选择题

程序员文章站 2022-06-17 18:33:41
...
  1. 【题目】 假定AB为一个类,则执行 “AB ab = new AB(a,5);”语句时将自动调用该类的( )。
    A.带参构造函数
    B.无参构造函数
    C.拷贝构造函数
    D.重载赋值运算
    【答案】A
    【解析】AB ab = new AB(a,5);其实这就是一个类的实例化问题,ab是类AB实例,new一个类的时候就是调用构造方法,而题目中构造方法带参数,可知调用的是带参的构造方法。a和5只是AB类的2个参数

2.【题目】导出类调用基类的构造器必须用到的关键字: ( )
A. this B.final
C.super D.static
【答案】C
【解析】
基类和导出类在 《Think in java》 中文翻译是 《java编程思想》 第四版 里有这个概念。基类就是父类,导出类就是子类。子类调用父类的构造器使用super(),放在子类构造函数的首行。

3.【题目】为Test类的一个无形式参数无返回值的方法method书写方法头,使得使用类名Test作为前缀就可以调用它,该方法头的形式为( )
A.static void method()
B.public void method
C.protected void method()
D.abstract void method()
【答案】A
【解析】A是静态方法,可以直接用如下形式调用 Test.method();

B是普通public方法,必须实例化类,Test test = new Test(); test.method();
C是protected方法,用法同B,只是对于其他的外部class,protected就变成private;
D是抽象方法,必须被子类继承并重写,然后调用方B。

4.【题目】判断对错。List,Set,Map都继承自继承Collection接口。
【答案】错误
【解析】List,Set等集合对象都继承自Collection接口 。
Map是一个顶层结果,不继承自Collection接口
java选择题

5【题目】一个Java源程序文件中定义几个类和接口,则编译该文件后生成几个以.class为后缀的字节码文件。
【答案】正确
【解析】一个.java文件中定义多个类:
注意一下几点:
(1) public权限类只能有一个(也可以一个都没有,但最多只有一个);
(2)这个.java文件名只能是public 权限的类的类名;
(3)倘若这个文件中没有public 类,则它的.java文件的名字是随便的一个类名;
(4)当用javac命令生成编译这个.java文件的时候,则会针对每一个类生成一个.class
文件;

6.【题目】关键字super的作用是?
A.用来访问父类被隐藏的非私有成员变量
B.用来调用父类中被重写的方法
C.用来调用父类的构造函数
D.以上都是
【答案】D
【解析】super代表父类对应的对象,所以用super访问直接使用的父类成员和方法

7.【题目】
指出下列程序运行的结果()

public class Example{
    String str = new String("good");
    char[ ] ch = { 'a' , 'b' , 'c' };
    public static void main(String args[]){
        Example ex = new Example();
        ex.change(ex.str,ex.ch);
        System.out.print(ex.str + " and ");
        System.out.print(ex.ch);
    }
    public void change(String str,char ch[ ]){
        str = "test ok";
       ch[0] = 'g';

        }
}

A. good and abc B.good and gbc
C.test ok and abc D.test ok and gbc
【答案】B
【解析】首先说下String确实是个不可变对象,这个不可变是JDK特有的,写JAVA的人特意针对的。
但是这与本题无关,题目中的形参str只是原引用ex.str的一个引用副本,传的是一个副本地址值,这个值与ex.str地址值是不一样的,但是它们同时指向了堆中的对象new String(“good”),当你在函数中改变形参也就是地址的副本值也就是这句str=”test ok”只是将副本地址指向常量”test ok”,并没有改变原ex.str的指向方向,它还是指向对象new String(“good”)的
char数组与String一样传的也是地址的副本,但是关键是形参ch它没有新的指向 ch[0]只是ch在指向原对象时改变了对象的内部结构, 所以在ex.ch指向与它是同一个对象的情况下当然也会随之变化 。

8.【题目】关于AWT和Swing说法正确的是?
A.Swing是AWT的子类
B.AWT在不同操作系统中显示相同的风格
C.AWT不支持事件类型,Swing支持事件模型
D.Swing在不同的操作系统中显示相同的风格
【答案】D
【解析】
AWT :是通过调用操作系统的native方法实现的,所以在Windows系统上的AWT窗口就是Windows的风格,而在Unix系统上的则是XWindow风格。 AWT 中的图形函数与 操作系统 所提供的图形函数之间有着一一对应的关系,我们把它称为peers。 也就是说,当我们利用 AWT 来构件图形用户界面的时候,我们实际上是在利用 操作系统 所提供的图形库。由于不同 操作系统 的图形库所提供的功能是不一样的,在一个平台上存在的功能在另外一个平台上则可能不存在。为了实现Java语言所宣称的”一次编译,到处运行”的概念,AWT 不得不通过牺牲功能来实现其平台无关性,也就是说,AWT 所提供的图形功能是各种通用型操作系统所提供的图形功能的交集。由于AWT 是依靠本地方法来实现其功能的,我们通常把AWT控件称为重量级控件。
Swing :是所谓的Lightweight组件,不是通过native方法来实现的,所以Swing的窗口风格更多样化。但是,Swing里面也有heaveyweight组件。比如JWindow,Dialog,JFrame
Swing是所谓的Lightweight组件,不是通过native方法来实现的,所以Swing的窗口风格更多样化。但是,Swing里面也有heaveyweight组件。比如JWindow,Dialog,JFrame
Swing由纯Java写成,可移植性好,外观在不同平台上相同。所以Swing部件称为轻量级组件( Swing是由纯JAVA CODE所写的,因此SWING解决了JAVA因窗口类而无法跨平台的问题,使窗口功能也具有跨平台与延展性的特性,而且SWING不需占有太多系统资源,因此称为轻量级组件!!!)

9【题目】关于JSP生命周期的叙述,下列哪些为真?
A.JSP会先解释成Servlet源文件,然后编译成Servlet类文件
B.每当用户端运行JSP时,jsp init()方法都会运行一次
C.每当用户端运行JSP时,jsp service()方法都会运行一次
D.每当用户端运行JSP时,jsp destroy()方法都会运行一次
【答案】AC
【解析】B:init方法:负责初始化Servlet对象。在Servlet的整个生命周期类,init()方法只被调用一次。
D:destroy方法:销毁Servlet对象,释放占用的资源,Servlet要被卸载时调用

10.【题目】下面有关servlet的层级结构和常用的类,说法正确的有?
A.GenericServlet类:抽象类,定义一个通用的、独立于底层协议的Servlet。
B.大多数Servlet通过从GenericServlet或HttpServlet类进行扩展来实现
C. ServletConfig接口定义了在Servlet初始化的过程中由Servlet容器传递给Servlet得配置信息对象
D.HttpServletRequest接口扩展ServletRequest接口,为HTTP Servlet提供HTTP请求信息
【答案】 ABCD
【解析】
java选择题BQkFCMA==/diss
o

HttpServlet是GenericServlet的子类。
GenericServlet是个抽象类,必须给出子类才能实例化。它给 出了设计servlet的一些骨架,定义了servlet生命周期,还有一些得到名字、配置、初始化参数的方法,其设计的是和应用层协议无关的,也就是说 你有可能用非http协议实现它。
HttpServlet是子类,当然就具有GenericServlet的一切特性,还添加了doGet, doPost, doDelete, doPut, doTrace等方法对应处理http协议里的命令的请求响应过程。
一般没有特殊需要,自己写的Servlet都扩展HttpServlet 。

11Java中的关键字有哪些?

答:1)48个关键字:abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while。

2)2个保留字(现在没用以后可能用到作为关键字):goto、const。

3)3个特殊直接量:true、false、null。