Java 面向对象——测试题,笔试,快进来考考你自己
lipiwang 2025-05-23 18:23 2 浏览 0 评论
不定项选择题(40题,每题2.5分,总分100分,测试时间2小时)
第一题:当试图编译并运行下面程序时会出现什么结果()(单选)
class A{
public int getNumber(int a){
return a+1;
}
}
class B extends A{
public int getNumber(int a, char c){
return a+2;
}
public static void main(String[] args){
B b=new B();
System.out.println(b.getNumber(0));
}
}
a.编译错误
b.运行错误
c.1
d.2
第二题:当编译并运行下面程序时会出现什么结果( )(单选)
public class MyAr{
public static void main(String argv[]){
int[] i = new int[5];
System.out.println(i[5]);
}
}
a.编译错误
b.运行错误
c.输出0
d.输出“null”
第三题:final、finally、finalize三个关键字的区别是()(多选)
a.final是修饰符(关键字)可以修饰类、方法、变量
b.finally在异常处理的时候使用,提供finally块来执行任何清除操作
c.finalize是方法名,在垃圾收入集器将对象从内存中清除出去之前做必要的清理工作
d.finally和finalize一样都是用异常处理的方法
第四题:当编译并运行下面程序时会发生什么结果()(单选)
public class Bground extends Thread{
public static void main(String argv[]){
Bground b = new Bground();
b.run();
}
public void start(){
for (int i = 0; i <10; i++){
System.out.println("Value of i = " + i);
}
}
}
a.编译错误,指明run方法没有定义
b.运行错误,指明run方法没有定义
c.编译通过并输出0到9
d.编译通过但无输出
第五题:在Java中,如果父类中的某些方法不包含任何逻辑,并且需要由子类重写,应该使用()关键字来声明父类的这些方法。(单选)
a.Final
b.Static
c.Abstract
d.Void
第六题:当编译并运行下面程序时会发生什么结果:(单选)
public class Hope{
public static void main(String argv[]){
Hope h = new Hope();
}
protected Hope(){
for(int i =0; i <10; i ++){
System.out.println(i);
}
}
}
a.编译错误,构造方法不能被声明为protected
b.运行错误,构造方法不能被声明为protected
c.编译并运行输出0到10
d.编译并运行输出0到9
第七题:下列说法正确的是?()(多选)
a.数组有length()方法
b.String有length()方法
c.数组有length属性
d.String有length属性
第八题:当编译并运行下面的程序时会发生什么结果?( )(单选)
public class Test{
public static void stringReplace(String text){
text=text+”c”;
}
public static void bufferReplace(StringBuffer text){
text=text.append("c");
}
public static void main(String args[]){
String textString=new String("java");
StringBuffer textBuffer=new StringBuffer("java");
stringReplace(textString);
bufferReplace(textBuffer);
System.out.println(textString+textBuffer);
}
}
a.编译并运行输出javac javac
b.编译并运行输出java java
c.编译并运行输出java javac
d.编译并运行输出 javac java
第九题:以下哪些表达式返回为真()(多选
String a=”My field1”;
String b=”My field1”;
String c=new String(”My field1”);
String d=new String(”My field1”);
A.a ==b
B.a==c
C.c==d
D.a.equals(b)
E.a.equals(c)
F.c.equals(d)
第十题:当编译和运行下面程序时,哪项描述可以最准确地表达发生了什么事情( )(单选
public class MyAr{
public static void main(String argv[]) {
MyAr m = new MyAr();
m.amethod();
}
public void amethod(){
int i;
System.out.println(i);
}
}
a.编译并输出0
b.编译错误
c.编译并输出null
d.运行错误
第十一题:给定如下java代码程序片断:
class A{
public A(){
System.out.println(“A”);
}
}
class B extends A{
public B(){
System.out.println(“B”);
}
public static void main(String[] args){
B b=new B();
}
}
按照上述程序将()(单选)
a.不能通过编译
b.通过编译,输出为AB
c.通过编译,输出为B
d.通过编译,输出为A
第十二题:关于线程,以下说法正确的是:()(多选)
a.sleep方法执行时会释放对象锁。
b.wait方法执行时会释放对象锁。
c.sleep方法必须写在同步方法或同步块中
d.wait方法必须写在同步方法或同步块中
第十三题:给定JAVA代码如下,编译运行后,输出结果是()(单选)
public class test{
static int i;
public int test(){
i++;
return i;
}
public static void main(String args[]){
Test test=new Test();
test.test();
System.out.println(test.test());
}
}
a.0
b.1
c.2
d.3
第十四题:给定JAVA代码如下,关于super的用法,以下描述正确的是( )(单选)
class C extends B
{
public C()
{
super();
}
}
a.用来调用类B中定义的super()方法
b.用来调用类C中定义的super()方法
c.用来调用类B中的无参构造方法
d.用来调用类B中第一个出现的构造方法
第十五题:哪些是Thread类中本身的方法(不包括继承) ( )(多选)
a.start()
b.sleep(long mi)
c.wait()
d.notify()
第十六题:下面哪些为真()(多选)
a.接口里可定义变量,并且变量的值不能修改
b.任何情况下,类都不能被private修饰
c.类可以被protected修饰
d.接口不能实例化
第十七题:下面哪些是正确的描述了关键字synhronized ( )(单选)
a.允许两个进程并行运行但其之间相互通信
b.保证任何时候只有一个线程访问一个方法或对象
c.保证两个或多个进程同时启动和结束
d.保证两个或多个线程同时启动和结束
第十八题:下列哪一种叙述是正确的()(单选)
a.abstract修饰符可修饰属性、方法和类
b.抽象方法的body部分必须用一对大括号{ }
c.声明抽象方法,大括号可有可无
d.声明抽象方法不可写出大括号
第十九题:下面关于网络通信正确的描述是()(多选)
a.TCP/IP协议是一种不可靠的网络通信协议。
b.UDP协议是一种可靠的网络通信协议。
c.TCP/IP协议是一种可靠的网络通信协议。
d.UDP协议是一种不可靠的网络通信协议。
第二十题:在Java中,下面关于抽象类的描述正确的是()(多选)
a.抽象类可以被实例化
b.如果一个类中有一个方法被声明为抽象的,那么这个类必须是抽象类
c.抽象类的方法都必须是抽象的
d.声明抽象类必须带有关键字abstract
第二十一题:给定java代码如下,编译运行结果是()(单选)
public class Test{
public int count(){
return 1%9;
}
public static void main(String[]args){
System.out.println(count());
}
}
a.编译错误
b.运行错误
c.正常运行,输出1
d.正常运行,输出0
第二十二题:将对象序列化,要实现哪个接口()(单选)
a.Cloneable
b.Runnable
c.Serializable
d.Comparator
第二十三题:以下代码输出结果为( ) (单选)
public class Test{
public static String output="";
public static void foo(int i){
try {
if(i==1){
throw new Exception();
}
output +="1";
} catch(Exception e){
output+="2";
return;
} finally{
output+="3";
}
output+="4";
}
public static void main(String args[]){
foo(0);
foo(1);
System.out.println(output);
}
}
a.1342
b.123
c.134234
d.13423
第二十四题:在JAVA中,()接口位于集合框架的顶层( ) (单选)
a.Collection
b.Collections
c.List
d.Set
第二十五题:在Java中,下列()类不能派生出子类( ) (单选)
a.public class MyClass{}
b.class MyClass{}
c.abstract class MyClass{}
d.final class MyClass{}
第二十六题:启动一个线程,应调用什么方法()。(单选)
a.start()
b.run()
c.begin()
d.notify)(
第二十七题:在java中,已定义两个接口B和C,要定义一个实现这两个接口的类,以下语句正确的是( )(单选)
a.interface A extends B,C
b.interface A implements B,C
c.class A implements B,C
d.class A implements B,implements C
第二十八题:在Java中,以下定义数组的语句正确的是( )(单选)
a.int t[10]=new int[];
b.char a[]="hefg";
c.int t[]=new int[10];
d.double d=new double[10];
第二十九题:给定一个java程序的main方法的代码片段如下:假如d目录下不存在abc.txt文件,现运行该程序,下面的结果正确的是():(单选)
try{
PrintWriter out =
new PrintWriter(new FileOutputStream("d:/abc.txt"));
String name="chen";
out.print(name);
}catch(Exception e){
System.out.println("文件没有发现!");
}
a.将在控制台上打印:"文件没有发现!"
b.正常运行,但没有生成文件abc.txt
c.运行后生成abc.txt,但该文件中可能无内容
d.运行后生成abc.txt,该文件内容为:chen
第三十题:集合框架中,要实现对集合里的元素进行自定义排序,要实现哪个接口()(单选)
a.Cloneable
b.Runnable
c.Serializable
d.Comparator
第三十一题:下面哪些代码可放在Here处(多选)
class Super{
protected float getNum(){return 3.0f;}
}
public class Sub extends Super{
//Here
}
a.float getNum(){return 4.0f;}
b.public void getNum(){}
c.private void getNum(double d){}
d.public double Getnum(){return 4.0d;}
e.public float getNum(){return 9;}
第三十二题:在Java语言中,如果你编写一个多线程序,可以使用的方法是()。(多选)
a.扩展类Thread
b.实现Runnable接口
c.扩展类Runnable
d.实现接口Thread
第三十三题:下面哪些接口直接继承自Collection接口()(多选)
a.List
b.Map
c.Set
d.Iterator
第三十四题:关于HashMap和Hashtable正确的说法有()(多选)
a.都实现了Map接口
b.Hashtable类不是同步的,而HashMap类是同步的
c.Hashtable 不允许null键或值
d.HashMap 不允许null键或值
第三十五题:下面关于构造方法的说法正确的是()(多选)
a.构造方法不能被继承
b.构造方法不能被重写
c.构造方法不能被重载
d.构造方法不能声明为private
第三十六题:研究下面的JAVA代码( )(单选)
public class TestException {
/**
* @param args
*/
public static void main(String[] args) {
int a[] = {0,1,2,3,4};
int sum=0;
try
{
for(int i=0;i<6;i++)
{
sum+=a[i];
}
System.out.println("sum="+sum);
}
catch(java.lang.ArrayIndexOutOfBoundsException e)
{
System.out.println("数组下标越界");
}
finally
{
System.out.println("程序结束");
}
}
}
输出结果将是()
a.10 数组下标越界 程序结束
b.10 程序结束
c.数组下标越界 程序结束
d.程序结束
第三十七题:研究下面JAVA代码,输出结果为()(单选)
public class TestException {
public static void main(String[] args) {
try
{
System.out.println("hello,jr");
System.exit(0);
}
finally
{
System.out.println("88");
}
}
}
a.hello,jr
b.88
c.hello,jr后是88
d.不能编译
第三十八题:考虑下面的代码,说出哪些重载了ConstOver构造器?(多选)
public class ConstOver{
public ConstOver(int x,int y,int z){}
}
a.ConstOver(){}
b.protected int ConstOver(){}
c.private ConstOver(int z,int y,byte z){}
d.public void ConstOver(byte x,byte y,byte z){}
e.public Object ConstOver(int x,int y,int z){}
第三十九题:有以下代码:
package com;
public class Test {
public static void main(String[] args) {
Test test = new Test();
//here
}
}
在here处加上以下什么语句,可以获得Class对象?(多选)
a.Class c = new Class();
b.Class c = test.class;
c.Class c = Test.class;
d.Class c = test.getClass();
e.Class c = Class.forName(“com.Test”);
f.Class c = Class.forName(“Test”);
第四十题:能用来修饰interface方法的有( )(多选)
a.private
b.public
c.protected
d.static
e.不加修饰符
需要答案的小伙伴,先关注我,然后可以私信关键词【答案】呦
看到这里的朋友点个赞呀,有收获的小伙伴,给个评论呀!!!
相关推荐
- httpclient+jsoup实现小说线上采集阅读
-
前言 用过老版本UC看小说的同学都知道,当年版权问题比较松懈,我们可以再UC搜索不同来源的小说,并且阅读,那么它是怎么做的呢?下面让我们自己实现一个小说线上采集阅读。(说明:仅用于技术学习、研究) ...
- Python3+requests+unittest接口自动化测试实战
-
一、Requests介绍RequestsisanelegantandsimpleHTTPlibraryforPython,builtforhumanbeings.翻译过来就是...
- 授权码 + PKCE 模式|OIDC & OAuth2.0 认证协议最佳实践系列【03】
-
在上一篇文章中,我们介绍了OIDC授权码模式,本次我们将重点围绕授权码+PKCE模式(AuthorizationCodeWithPKCE)进行介绍,从而让你的系统快速具备接入用户认...
- JWT 在 Java Web 开发中的奇妙应用
-
JWT在JavaWeb开发中的奇妙应用在当今的互联网世界里,安全始终是一个绕不开的话题。而当我们谈论到Web应用的安全性时,认证和授权绝对是其中的核心部分。说到这,我忍不住要给大家讲个笑话...
- 动手操作:一个 OAuth 2 应用程序(2) - 配置 Keycloak 为授权服务器
-
接上一篇《动手操作:一个OAuth2应用程序(1)-应用程序场景》进行场景分析后,本篇就开始动手实现授权服务器。在本文中,我们将Keycloak配置为系统的授权服务器(图3)。...
- JSON Web Token是什么?
-
JSONWebToken(缩写JWT)是目前最流行的跨域认证解决方案。传统的session认证http协议本身是一种无状态的协议,而这就意味着如果用户向我们的应用提供了用户名和密码来进行用户认证...
- Keycloak Servlet Filter Adapter使用
-
KeycloakClientAdapters简介Keycloakclientadaptersarelibrariesthatmakeitveryeasytosecurea...
- 使用JWT生成token
-
一、使用JWT进行身份验证1、传统用户身份验证Internet服务无法与用户身份验证分开。一般过程如下:用户向服务器发送用户名和密码。验证服务器后,相关数据(如用户角色,登录时间等)将保存在当前会话中...
- 在word中通过VBA调用百度翻译API在线翻译
-
一天的时间,借助各种AI终于解决了这个问题:在word中通过VBA调用百度翻译API进行在线翻译。给我的word又添加了一项神技。先上代码:Sub宏5()''宏5宏Dimapp...
- API 安全之认证鉴权
-
作者:半天前言API作为企业的重要数字资源,在给企业带来巨大便利的同时也带来了新的安全问题,一旦被攻击可能导致数据泄漏重大安全问题,从而给企业的业务发展带来极大的安全风险。正是在这样的背景下,Ope...
- 用WordPress建站哪些插件会拖慢速度影响排名?
-
你是否发现网站加载总慢半拍,SEO排名死活上不去?八成是插件惹的祸!80%的站长不知道,WordPress插件用错类型或配置不当,分分钟让网站速度暴跌,爬虫抓取效率直接砍半。缓存插件没装对,越用越卡你...
- JavaScript报错了?不要慌!怎么看怎么处理都在这里
-
在开发中,有时,我们花了几个小时写的JS代码,在游览器调试一看,控制台一堆红,瞬间一万头草泥马奔腾而来。至此,本文主要记录JS常见的一些报错类型,以及常见的报错信息,分析其报错原因,并给予处理...
-
- 跨站脚本攻击(四)
-
04XSS漏洞挖掘技巧4.1常见的绕过姿势实际应用中web程序往往会通过一些过滤规则来阻止带有恶意代码的用户输入被显示,但由于HTML语言的松散性和各种标签的不同优先级,使得我们绕过过滤规则成为了可能。4.1.1利用大小写绕过HTML标签...
-
2025-05-24 15:21 lipiwang
- WAF-Bypass之SQL注入绕过思路总结
-
过WAF(针对云WAF)寻找真实IP(源站)绕过如果流量都没有经过WAF,WAF当然无法拦截攻击请求。当前多数云WAF架构,例如百度云加速、阿里云盾等,通过更改DNS解析,把流量引入WAF集群,流量经...
- Springboot之登录模块探索(含Token,验证码,网络安全等知识)
-
简介登录模块很简单,前端发送账号密码的表单,后端接收验证后即可~淦!可是我想多了,于是有了以下几个问题(里面还包含网络安全问题):1.登录时的验证码2.自动登录的实现3.怎么维护前后端登录状态在这和大...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- maven镜像 (69)
- undefined reference to (60)
- zip格式 (63)
- oracle over (62)
- date_format函数用法 (67)
- 在线代理服务器 (60)
- shell 字符串比较 (74)
- x509证书 (61)
- localhost (65)
- java.awt.headless (66)
- syn_sent (64)
- settings.xml (59)
- 弹出窗口 (56)
- applicationcontextaware (72)
- my.cnf (73)
- httpsession (62)
- pkcs7 (62)
- session cookie (63)
- java 生成uuid (58)
- could not initialize class (58)
- beanpropertyrowmapper (58)
- word空格下划线不显示 (73)
- jar文件 (60)
- jsp内置对象 (58)
- makefile编写规则 (58)