牛客网第17天

【牛客网第17天】1.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。
A.start( )
B.stop( )
C.init( )
D.paint( )
正确答案: D 你的答案: C (错误)
解析:Applet类是浏览器类库中最为重要的类,同时也是所有java小应用程序的基本类。Apple类中只有一种格式的构造方法public Apple(),此种方法用来创建一个Apple类的实例。因此,在编写Applet程序时,首先必须引入java.applet.Applet包。 一个Applet应用程序从开始运行到结束时所经历的过程被称为Applet的生命周期。Applet的生命周期涉及init()、start()、stop()和destroy()四种方法,这4种方法都是Applet类的成员,可以继承这些方法,也可以重写这些方法,覆盖原来定义的这些方法。除此之外,为了在Applet程序中实现输出功能,每个Applet程序中还需要重载paint()方法。 值得注意的是,在Applet类中没有提供init()、start()、stop()、destroy()和paint()方法的任何实现,且它们都是被浏览器或Appletviewer调用的,所以这几个方法要完成的功能应由编程人员自行编制。 1、 public void init() init()方法是Applet运行的起点。当启动Applet程序时,系统首先调用此方法,以执行初始化任务。 2、 public void start() start()方法是表明Applet程序开始执行的方法。当含有此Applet程序的Web页被再次访问时调用此方法。因此,如果每次访问Web页都需要执行一些操作的话,就需要在Applet程序中重载该方法。在Applet程序中,系统总是先调用init()方法,后调用start()方法。 3、 public void stop() stop()方法使Applet停止执行,当含有该Applet的Web页被其他页代替时也要调用该方法。 4、 public void destroy() destroy()方法收回Applet程序的所有资源,即释放已分配给它的所有资源。在Applet程序中,系统总是先调用stop()方法,后调用destroy()方法。 5、 paint(Graphics g) paint(Graphics g)方法可以使Applet程序在屏幕上显示某些信息,如文字、色彩、背景或图像等。参数g是Graphics类的一个对象实例,实际上可以把g理解为一个画笔。对象g中包含了许多绘制方法,如drawstring()方法就是输出字符串。 repaint()方法的功能是,程序首先清除paint()方法以前所画的内容,然后再调用paint()方法。
2.下列哪种说法是正确的?
A.实例方法可直接调用超类的实例方法
B.实例方法可直接调用超类的类方法
C.实例方法可直接调用本类的类方法
D.实例方法可直接调用其他类的实例方法
正确答案: C 你的答案: C (正确)
解析: a.实例方法可以调用超类公有实例方法
b.实例方法可以直接调用超类的公有类方法
d.实例方法可以通过类名调用其他类的类方法
3. 字符界面下接受用户从键盘输入,需要import的包是:( )
A.java.lang包
Bjava.awt包
C.java.io包
D.java.applet包
正确答案: C 你的答案: B (错误)
解析: 解释字符界面:
字符界面就是操作系统或应用软件的界面,和操作都是字符实现,没有图形.dos系统就是典型的字符界面.
与之相对的就是图形界面.也是界面和操作运用了图形.windows就是典型的图形界面
而java.util中的Scanner则是获取控制台的输入。
因此,答案选C
4.当你编译和运行下面的代码时,会出现下面选项中的哪种情况?
public class Pvf{
static boolean Paddy;
public static void main(String args[]){
System.out.println(Paddy);
}
}
A.编译时错误
B.编译通过并输出结果false
C.编译通过并输出结果true
D.编译通过并输出结果null
解析: 类中声明的变量有默认初始值;方法中声明的变量没有默认初始值,必须在定义时初始化,否则在访问该变量时会出错。
boolean类型默认值是false
5.请问以下代码运行结果是:
牛客网第17天
文章图片
A.try catch
B.try finally catch
C.try finally
D.try catch finally
解析:在执行到try代码块中,首先输出try,然后抛出异常,直接跳转到catch中,输出catch,然后跳转到finally块中,输出finally。
6. 选项中哪一行代码可以替换 //add code here 而不产生编译错误
ublic abstract class MyClass {
public int constInt = 5;
//add code here
public void method() {
}
}
A.public abstract void method(int a);
B.consInt=constInt+5;
C.public int method();
D.public abstract void anotherMethod(){}
正确答案: A 你的答案: D (错误)
解析: A是抽象方法,抽象类可以包含抽象方法,也可以不包含,实现重载。(√)
B 在类中不能constInt = constInt + 5(×)
C 返回值不能作为重载的依据(×)
D 有方法体的不能作为抽象函数(×)
7.instanceof运算符能够用来判断一个对象是否为:
A.一个类的实例
B.一个实现指定接口的类的实例
C.全部正确
D.一个子类的实例
解析:nstanceof用于判断前面的对象是否后面的类,或者其子类、实现类的实例。如果是,则返回true,否则返回false。
8.下列关于java 中的 wait()方法和 sleep()方法的区别描述错误的是?
A.wait()方法属于Object类,sleep()属于Thread类
B.调用wait()方法的时候,线程会放弃对象锁
C.调用sleep()方法的过程中,线程不会释放对象锁
D.sleep()方法导致了程序暂停执行指定的时间,让出cpu给其他线程
解析:sleep和wait的区别有:
1,这两个方法来自不同的类分别是Thread和Object
2,最主要是sleep方法没有释放锁,而wait方法释放了锁,使得敏感词线程可以使用同步控制块或者方法。
3,wait,notify和notifyAll只能在同步控制方法或者同步控制块里面使用,而sleep可以在
任何地方使用
synchronized(x){
x.notify()
//或者wait()
}
4,sleep必须捕获异常,而wait,notify和notifyAll不需要捕获异常
是线程暂停执行指定时间而不是程序暂停执行指定的时间。
9.关于异常的编程,以下描述错误的是:( )
A0在有除法存在的代码处,抛不抛出异常均可
B.int i=Integer.parseInt(”123a”); 将产生NumberFormatException
C.int a[]=null; a[0]=1; 将产生ArraylndexOutOfBoundsException
D.输入输出流编程中,读和写时都必须抛出IOException
正确答案: C 你的答案: D (错误)
解析:
A,除法错时运行时错误,不需要抛出异常;
B,对的,会抛出异常;
C,会抛出空指针错误,不是数组越界,因为它没有分配空间NULL;
D,必须抛出,try…catch也是抛出
10.下面哪一项不属于优化Hibernate所鼓励的?
A.使用单向一对多关联,不使用双向一对多
B.不用一对一,用多对一取代
C.配置对象缓存,不使用集合缓存
D.继承类使用显式多态
解析:
优化Hibernate所鼓励的7大措施:
1.尽量使用many-to-one,避免使用单项one-to-many
2.灵活使用单向one-to-many
3.不用一对一,使用多对一代替一对一
4.配置对象缓存,不使用集合缓存
5.一对多使用Bag 多对一使用Set
6.继承使用显示多态 HQL:from object polymorphism=“exlicit” 避免查处所有对象
7.消除大表,使用二级缓存

    推荐阅读