Java日常练习题,每天进步一点点(47)

目录
  • 1、public interface IService {String NAME=“default”;}
  • 2、关于以下程序代码的说明正确的
  • 3、以下 _____ 不是 Object 类的方法
  • 4、try块后必须有catch块。()
  • 5、已知有下列Test类的说明,在该类的main方法内,则下列哪个语句是正确的?()
  • 6、String s = new String(“xyz”);创建了几个StringObject?
  • 7、下面有关JVM内存,说法错误的是?
  • 8、问这个程序的输出结果。
  • 9、java关于异常处理机制的叙述哪些正确
  • 10、下面哪些赋值语句是正确的()
    • 答案汇总:
  • 总结

1、public interface IService {String NAME=“default”;}

默认类型等价表示是哪一项:

正确答案: C

public String NAME=“default”;

public static String NAME=“default”;

public static final String NAME=“default”;

private String NAME=“default”;

题解:
接口中的变量默认是public static final 的,方法默认是public abstract 的

2、关于以下程序代码的说明正确的

class HasStatic{
    private static int x = 100;
    public static void main(String args[ ]){
        HasStatic hs1 = new HasStatic();
        hs1.x++;
        HasStatic hs2 = new HasStatic();
        hs2.x++;
        hs1=new HasStatic();
        hs1.x++;
        HasStatic.x--;
        System.out.println( "x=" +x);
    }
}

正确答案: D

5行不能通过编译,因为引用了私有静态变量

10行不能通过编译,因为x是私有静态变量

程序通过编译,输出结果为:x=103

程序通过编译,输出结果为:x=102

题解:
答案选D
因为x的 修饰符为 static 所以x为类变量,即对于所有的实例来说,他们访问的x为同一个x,类变量存储在方法区,不属于每个实例的私有,
刚开始x=100
调用hs1.x++ x为101;
调用hs2.x++ x为102;
调用hs1.x++ x为103 (此时hs1指向了一个新的HasStatic实例,但是依然访问的是同一个X)
调用HasStatic.x-- x为102
所以结果为D

3、以下 _____ 不是 Object 类的方法

正确答案: D

clone()

finalize()

toString()

hasNext()

题解:
object类的方法:
1.clone方法
保护方法,实现对象的浅复制,只有实现了Cloneable接口才可以调用该方法,否则抛出CloneNotSupportedException异常。
2.getClass方法
final方法,获得运行时类型。
3.toString方法
该方法用得比较多,一般子类都有覆盖。
4.finalize方法
该方法用于释放资源。因为无法确定该方法什么时候被调用,很少使用。
5.equals方法
该方法是非常重要的一个方法。一般equals和==是不一样的,但是在Object中两者是一样的。子类一般都要重写这个方法。
6.hashCode方法方法用于哈希查找,重写了equals方法一般都要重写hashCode方法。这个方法在一些具有哈希功能的Collection中用到。
一般必须满足obj1.equals(obj2)==true。可以推出obj1.hash- Code()==obj2.hashCode(),但是hashCode相等不一定就满足equals。不过为了提高效率,应该尽量使上面两个条件接近等价。
7.wait方法
wait方法就是使当前线程等待该对象的锁,当前线程必须是该对象的拥有者,也就是具有该对象的锁。wait()方法一直等待,直到获得锁或者被中断。wait(long timeout)设定一个超时间隔,如果在规定时间内没有获得锁就返回。
调用该方法后当前线程进入睡眠状态,直到以下事件发生。
(1)其他线程调用了该对象的notify方法。
(2)其他线程调用了该对象的notifyAll方法。
(3)其他线程调用了interrupt中断该线程。
(4)时间间隔到了。
此时该线程就可以被调度了,如果是被中断的话就抛出一个InterruptedException异常。
8.notify方法
该方法唤醒在该对象上等待的某个线程。
9.notifyAll方法
该方法唤醒在该对象上等待的所有线程。

4、try块后必须有catch块。()

正确答案: B

正确

错误

题解:
try块后面不一定需要跟着catch块,可以只跟着finally块
try 和 catch 不需要一定共存,try是尝试对其中代码捕获异常,catch是捕获异常并且可以处理异常。。你可以 try 来搜寻异常,不去捕获。也就是不去catch 这是可以的。。至于提示加finally,finally的意思是,其中的代码一定会执行,也就是说,如果try 其中的代码产生了异常,如果有catch 则会直接跳转到catch部分,如果没有catch 会跳转到‘}'后面的代码,这样,以上方法就没有一个确定的返回值,所以要加finally 作为方法出异常以后的返回的结果。

5、已知有下列Test类的说明,在该类的main方法内,则下列哪个语句是正确的?()

public class Test

{

private float f = 1.0f;

int m = 12;

static int n = 1;

public static void main (String args[])

{

Test t = new Test();

}
}

正确答案: A

t.f;

this.n;

Test.m

Test.f

**题解:
A.虽然变量修饰符为private,但main函数在此类中所以仍然可以直接用对象名来调用
B.static类变量,不能用对象名调用,只能用类名调用
C.非类变量不能用类名调用,只能先实例化再调用
D.同C **

6、String s = new String(“xyz”);创建了几个StringObject?

正确答案: A

两个或一个都有可能

两个

一个

三个

题解:
这种题以前的日常练习题中出现过
如果常量池中存在“xyz”就只会创建一个对象,如果没有就会创建两个

7、下面有关JVM内存,说法错误的是?

正确答案: C

程序计数器是一个比较小的内存区域,用于指示当前线程所执行的字节码执行到了第几行,是线程隔离的

虚拟机栈描述的是Java方法执行的内存模型,用于存储局部变量,操作数栈,动态链接,方法出口等信息,是线程隔离的

方法区用于存储JVM加载的类信息、常量、静态变量、以及编译器编译后的代码等数据,是线程隔离的

原则上讲,所有的对象都在堆区上分配内存,是线程之间共享的

题解:
方法区在JVM中也是一个非常重要的区域,它与堆一样,是被 线程共享 的区域。 在方法区中,存储了每个类的信息(包括类的名称、方法信息、字段信息)、静态变量、常量以及编译器编译后的代码等。

8、问这个程序的输出结果。

package Wangyi;
class Base
{
    public void method()
    {
        System.out.println("Base");
    }
}
class Son extends Base
{
    public void method()
    {
        System.out.println("Son");
    }

    public void methodB()
    {
        System.out.println("SonB");
    }
}
public class Test01
{
    public static void main(String[] args)
    {
        Base base = new Son();
        base.method();
        base.methodB();
    }
}

正确答案: D

Base SonB

Son SonB

Base Son SonB

编译不通过

题解:
Base base=new Son(); 是多态的表示形式。父类对象调用了子类创建了Son对象。
base调用的method()方法就是调用了子类重写的method()方法。
而此时base还是属于Base对象,base调用methodB()时Base对象里没有这个方法,所以编译不通过。
要想调用的话需要先通过SON son=(SON)base;强制转换,然后用son.methodB()调用就可以了。

9、java关于异常处理机制的叙述哪些正确

正确答案: B C

catch部分捕捉到异常情况时,才会执行finally部分

当try区段的程序发生异常时,才会执行catch区段的程序

在try区段不论程序是否发生异常及捕获到异常,都会执行finally部分

以上都是

题解:
1.try和catch语句
●将要处理的代码放入try块中,然后创建相应的catch块的列表。如果生成都异常与catch中提到的相匹配,那么catch条件中的块语句就被执行。try块后可能有许多catch块,每个都处理不同的异常。每个catch中的参数都是Exception的子类。
2.finally语句
●finally语句定义一个总是执行的代码,而不考虑异常是否被捕获。
3.throw引起一个异常
‍●‍‍调用申明抛出异常
●‍throw语句强制抛出异常

10、下面哪些赋值语句是正确的()

正确答案: A B D

long test=012

float f=-412
int other =(int)true

double d=0x12345678

byte b=128

题解:
选ABD
A和B中long和float,正常定义需要加l和f,但是long和float属于基本类型,会进行转化,所以不会报出异常。AB正确
boolean类型不能和任何类型进行转换,会报出类型异常错误。所以C错。
D选项可以这样定义,D正确。
E选项中,byte的取值范围是-128—127。报出异常: cannot convert from int to byte.所以E选项错误。

答案汇总:

1、正确答案: C

2、正确答案: D

3、正确答案: D

4、正确答案: B

5、正确答案: A

6、正确答案: A

7、正确答案: C

8、正确答案: D

9、正确答案: B C

10、正确答案: A B D

总结

本篇文章就到这里了,希望能给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Java日常练习题,每天进步一点点(44)

    目录 1.AWT 中用来表示文本框的类是 ( ) 2.以下表达式的类型和值是什么?(注意整数除法)() 3.以下代码段执行后的输出结果为 4.Java的跨平台特性是指它的源代码可以在多个平台运行.() 5.方法通常存储在进程中的哪一区() 6.默认RMI采用的是什么通信协议? 7.J2EE中,当把来自客户机的HTTP请求委托给servlet时,会调用HttpServlet的( )方法 8.String str = new String("abc"),"abc"在内存

  • Java日常练习题,每天进步一点点(43)

    目录 1.在异常处理中,若try中的代码可能产生多种异常则可以对应多个catch语句,若catch中的参数类型有父类子类关系,此时应该将父类放在后面,子类放在前面. 2.下面有关servlet中init,service,destroy方法描述错误的是? 3.以下描述错误的一项是( )? 4.JSP 表达式的写法: 5.Panel 和 Applet 的默认布局管理器是( ) 6.What will be printed when you execute the following code? 7.

  • Java日常练习题,每天进步一点点(46)

    目录 1.设Tree为已定义的类名,下列语句能正确创建 Tree 对象的是 . 2.区分类中重载方法的依据是( ). 3.以下代码执行后输出结果为( ) 4.现有一变量声明为 boolean aa; 下面赋值语句中正确的是 ( ) 5.以下关于 abstract 关键字的说法,正确的是() 6.一个类中,有两个方法名.形参类型.顺序和个数都完全一样,返回值不一样的方法,这种现象叫覆盖.( ) 7.局部变量能否和成员变量重名? 8.指出下列程序运行的结果() 9.java中提供了哪两种用于多态的机

  • Java日常练习题,每天进步一点点(45)

    目录 1.下列说法哪个正确( ) 2.只有实现了()接口的类,其对象才能序列化. 3.在 java 中 , 一个类() 4. 5.要求匹配以下16进制颜色值,正则表达式可以为: #ffbbad #Fc01DF #FFF #ffE 6.下列语句哪一个是不正确的() 7.以下哪个不是Collection的子接口? 8.以下会产生信息丢失的类型转换是( ) 9.下列代码执行结果为() 10.Java多线程有几种实现方法? 答案汇总: 总结 1.下列说法哪个正确( ) 正确答案: C 不需要定义类,就能

  • Java日常练习题,每天进步一点点(42)

    目录 1.Integer a = 1; 2.对于同一类中的两个方法 , 在判断它们是不是重载方法时 , 肯定不考虑( ) 3.对于Java中异常的描述正确的是( ) 4.下面的方法,当输入为2的时候返回值是多少? 5.下面有关 maven和ant的描述,描述错误的是? 6.下列方法中哪个是执行线程的方法? () 7.java中Hashtable, Vector, TreeSet, LinkedList哪些线程是安全的? 8.关于HashMap和Hashtable正确的说法有() 9.以下关于fi

  • Java日常练习题,每天进步一点点(47)

    目录 1.public interface IService {String NAME="default";} 2.关于以下程序代码的说明正确的 3.以下 _____ 不是 Object 类的方法 4.try块后必须有catch块.() 5.已知有下列Test类的说明,在该类的main方法内,则下列哪个语句是正确的?() 6.String s = new String("xyz");创建了几个StringObject? 7.下面有关JVM内存,说法错误的是? 8.问

  • Java日常练习题,每天进步一点点(30)

    目录 1.以下程序段的输出结果为: 2.在java7中,下列不能做switch()的参数类型是? 3.以下代码的输出结果是? 4.What results from the following code fragment? 5.对于构造方法,下列叙述正确的是( ). 6.JDK1.7版本之前,接口和抽象类描述正确的有( ) 7.以下关于JAVA语言异常处理描述正确的有? 8.下面程序输出结果为(): 9.java中关于继承的描述正确的是() 10.What is Static Method in

  • Java日常练习题,每天进步一点点

    目录 1.类 ABC 定义如下: 2.后端获取数据,向前端输出过程中,以下描述正确的是 3.在异常处理中,以下描述不正确的有 4.如果一个接口Cup有个方法use(),有个类SmallCup实现接口Cup,则在类SmallCup中正确的是? ( ) 5.下面的程序将来打印什么?() 6.执行以下程序后的输出结果是() 7.java语言的下面几种数组复制方法中,哪个效率最高? 8.有关会话跟踪技术描述正确的是() 9.关于Java内存区域下列说法不正确的有哪些 10.下面的Java赋值语句哪些是有

  • Java日常练习题,每天进步一点点(9)

    目录 1."先进先出"的容器是:( ) 2.不考虑反射机制,一个子类显式调用父类的构造器必须用super关键字.( ) 3.以下是java concurrent包下的4个类,选出差别最大的一个 4.判断对错.在java的多态调用中,new的是哪一个类就是调用的哪个类的方法. 5.下面属于java引用类型的有? 6.有以下程序段, 则下面正确的选项是() 7.往OuterClass类的代码段中插入内部类声明, 哪一个是错误的: 8.Java.Thread的方法resume()负责重新开始

  • Java日常练习题,每天进步一点点(15)

    目录 1.main 方法是 Java Application 程序执行的入口点,以下描述哪项是合法的(). 2.一般情况下,以下哪个选项不是关系数据模型与对象模型之间匹配关系? 3.下列关于修饰符混用的说法,错误的是( ) 4.某程序要求每次输入只能是正整数,并且每次输入的数值要求必须是100的倍数且小于等于500,则下列哪个是正确的无效等价类( ) 5.根据以下代码段,下列说法中正确的是( ). 6.在创建派生类对象,构造函数的执行顺序() 7.关于下面的一段代码,以下哪些说法是正确的: 8.

  • Java日常练习题,每天进步一点点(14)

    目录 1.下面程序的运行结果:() 2.如果int x=20, y=5,则语句System.out.println(x+y +""+(x+y)+y); 的输出结果是() 3.有以下类定义: 4.以下代码的输出的正确结果是 5.下列说法正确的是() 6.以下代码输出的是: 7.非抽象类实现接口后,必须实现接口中的所有抽象方法,除了abstract外,方法头必须完全一致. 8.下列关于容器集合类的说法正确的是? 9.下面说法正确的是?() 10.下面的对象创建方法中哪些会调用构造方法 ()

  • Java日常练习题,每天进步一点点(13)

    目录 1.以下关于java封装的描述中,正确的是: 2.请问所有的异常类皆直接继承于哪一个类?() 3.Which statement is true for the class java.util.ArrayList? 4.以下 b 的值是: byte b = (byte)129; 5.哪个类可用于处理 Unicode? 6.下面代码的运行结果是( ) 7.以下哪些继承自 Collection 接口() 8.程序中常采用变量表示数据,变量具有名.地址.值.作用域.生存期等属性.关于变量的叙述,

  • Java日常练习题,每天进步一点点(12)

    目录 1.Which is the return type of the method main()? 2.java中用()字指明继承关系.用()关键字指明对接口的实现. 3.顺序执行下列程序语句后,则b的值是() 4.下面程序的输出是什么? 5.下面属于JSP内置对象的是? 6.关于抽象类与接口,下列说法正确的有? 7.下面哪些写法能在 java8 中编译执行() 8.Java是一门支持反射的语言,基于反射为Java提供了丰富的动态性支持,下面关于Java反射的描述,哪些是错误的:( ) 9.

  • Java日常练习题,每天进步一点点(11)

    目录 1.对接口的描述正确的是() 2.类中的数据域使用private修饰为私有变量,所以任何方法均不能访问它. 3.已知如下类定义: 4.在java的一个异常处理中,可以包含多个的语句块是 ( ). 5.关于Java语言中的final关键字的使用,下列说法正确的是() 6.在 main() 方法中给出的整型数组,如果将其写到一个文件中,需要( ). 7.下列有关Servlet的生命周期,说法不正确的是? 8.What is displayed when the following is exe

  • Java日常练习题,每天进步一点点(16)

    目录 1.main 方法是 Java Application 程序执行的入口点,以下描述哪项是合法的(). 2.一般情况下,以下哪个选项不是关系数据模型与对象模型之间匹配关系? 3.下列关于修饰符混用的说法,错误的是( ) 4.某程序要求每次输入只能是正整数,并且每次输入的数值要求必须是100的倍数且小于等于500,则下列哪个是正确的无效等价类( ) 5.根据以下代码段,下列说法中正确的是( ). 6.在创建派生类对象,构造函数的执行顺序() 7.关于下面的一段代码,以下哪些说法是正确的: 8.

随机推荐