牛客网第12天

1.类Test1定义如下:
public class Test1{//1
public float aMethod(float a,float b){}//2
//3
}//4
将以下哪种方法插入行3是不合法的。
A.public int aMethod(int a,int b){}
B.private float aMethod(int a,int b,int c){}
C.public float aMethod(float a,float b){}
D.public float aMethod(float a,float b,float c){}
正确答案: C 你的答案: D (错误)
解析:Java中不能定义方法名,参数个数与类型,完全相同的方法。
方法签名=方法名+参数(个数及类型),但不包括方法返回值
即java中不能定义方法签名相同的方法
2. 接口不能扩展(继承)多个接口。( )
A.正确
B.错误
正确答案: B 你的答案: B (正确)
解析:Java中类是单继承,但接口可以多继承,Interfere1 extends Interface2,Interface3…
3.Java是从()语言改进重新设计
A.Ada
B.C++
C.Pascal
D.BASIC
正确答案: B 你的答案: B (正确)
解析:ava是类C语言,从C++改进而来
去掉了指针和多继承,采用自动垃圾回收等
4. 有以下代码片段:
String str1=“hello”;
String str2=“he”+ new String(“llo”);
System.out.println(str1str2);
请问输出的结果是:
A.true
B.都不对
C.null
D.false
解析:
String str1=“hello”; 这样创建字符串是存在于常量池中
String str2=new String(“hello”); str2存在于堆中,
是验证两个对象是否是一个(内存地址是否相同)
用+拼接字符串时会创建一个新对象再返回。
5. 应用程序的main方法中有以下语句,则输出的结果( )
String s1=new String( ” xyz ” );
String s2=new String( ” xyz ” );
Boolean b1=s1.equals(s2);
Boolean b2=(s1
s2);
System .out.print(b1+ ” ” +b2);
Atrue false
B.false true
C.true true
D.false false
正确答案: A 你的答案: A (正确)
解析:
String s1=new String( ” xyz ” ); //创建了String类型的内容为xyz的s1对象
String s2=new String( ” xyz ” ); //创建了String类型的内容为xyz的s2对象
Boolean b1=s1.equals(s2); //比较s1对象和s2对象的内容相等,返回true。
Boolean b2=(s1
s2); //比较s1和s2两个对象的存储地址是否相等,明显两者分别存储在不同的地址,所以返回:false。
故答案为:true false
6. 关于Java语言描述正确的是? ( )
A.java和C++都保留了指针
B.java和C++都有三个特征:封装、继承和多态
C.java的垃圾回收机制是指程序结束时系统自动回收内存
D.以上说法都不正确
正确答案: B 你的答案: B (正确)
解析:
java丢弃了指针。
java的立即回收不是程序结束后回收垃圾,在程序过程中就会,如对象呗赋值NULL,该对象就成为可回收对象。
7. java 的字符类型采用的是 Unicode 编码方案,每个 Unicode 码占用()个比特位。
A.8
B.16
C.32
D.64
正确答案: B 你的答案: C (错误)
解析:
在java中一个unicode占2个字节(byte)。
一个字节等于8比特位(bit)。
所以每个Unicode码占用16个比特位。
8.以下Java程序运行的结果是:
public class Tester{
public static void main(String[] args){
Integer var1=new Integer(1);
Integer var2=var1;
doSomething(var2);
System.out.print(var1.intValue());
System.out.print(var1==var2);
}
public static void doSomething(Integer integer){
integer=new Integer(2);
}
}
A.1true
B.2true
C.1false
D.2false
正确答案: A 你的答案: C (错误)
解析:主要分析下doSomething(),因为这里传递的是引用,而不是地址值,即新建了一个Integer integer,其指向var2所指向的那个栈中的1.至此,integer和var毫无关系,除了同时指向同一个栈中的值。然后integer = new Integer(2);便是在栈中新建了一个为2的值,然后integer重新指向了这个栈中的值。所以var1和var2都没有改变,都是指向栈中为1的那个值。
同时说明下: == 与equal
equal是值的比较
==是引用的比较
9.Which method you define as the starting point of new thread in a class from which n thread can be execution?
A.public void start()
B.public void run()
C.public void int()
D.public static void main(String args[])
E.public void runnable()
正确答案: B 你的答案: B (正确)
解析:下面哪一个是你类中定义可以作为新线程的起始点,直到线程n被执行完毕的方法 ?
其实就是在问,线程执行的入口,start()是启动该线程的方法,是启动的动作
继承Thead,重写run方法或者实现Runable接口,实现run方法,run方法就是线程执行的入口
10.URL u =new URL(“http://www.123.com”);。如果www.123.com不存在,则返回______。
A.http://www.123.com
B.””
C.null
D.抛出异常
正确答案: A 你的答案: C (错误)
解析:我们在执行URL u =new URL(“http://www.123.com”);这句话的时候确实要抛出异常,但是这个异常属于IOException,不管网址是否存在,最后都会返回该网址的一个连接,打印出来就是该网址。

猜你喜欢

转载自blog.csdn.net/pingbu_qingyun/article/details/83348450
今日推荐