1.在Java接口中,下列选项中有效的方法声明是(a,b) (选择2项)
a) public void aMethod();
b) void aMethod(); // public abstract void aMethod()
c) void aMethod(){};
d) private void aMethod();
我选cd,答案ab
c:错误有方法体
a:默认不写为Default
b:可以省略public abstract
4.Java中的错误处理是通过异常处理模型来完成的,那么异常处理模块可以处理的错误是(a )。
a) 运行时错误
b) 逻辑错误
c) 语法错误
d) 内部错误
超纲...
11.下列选项中关于Java中super关键字的说法正确的是(ab)。
a) super关键字是在子类对象内部指代其父类对象的引用。
b) super关键字不仅可以指代子类的直接父类,还可以指代父类的父类。
c) 子类通过super关键字只能调用父类的方法,而不能调用父类的属性。
d) 子类通过super关键字只能调用父类的属性,而不能调用父类的方法。
我选a 题没说是多选大E了
12.给定如下一个Java源文件Child.java,编译并运行Child.java, 以下结果正确的是(b )。
class Parent1 {
Parent1(String s) {
System.out.println(s);
}
}
class Parent2 extends Parent1 {
Parent2() {
System.out.println("parent2");
}
}
public class Child extends Parent2 {
public static void main(String [] args) {
Child child = new Child();
}
}
a) 编译错误:没有找到构造器Child()
b) 编译错误:没有找到构造器Parent1()
c) 正确运行,没有输出值
d) 正确运行,输出结果为:parent2
b:因为Parent2构造方法会默认有super()调用他的父类构造方法,但是Parent1显示的定义了一个有参构造,系统会回收默认的无参构造
14.分析下面的Java代码,编译运行结果是(c )。
public class Test {
int number;
String strname;
Test(int num, String name) {
number = num;
strname = name;
System.out.println("学号: " + number + " 姓名:" + name);
}
public static void main(String[] args) {
Test objTest1 = new Test();
Test objTest2 = new Test(1,"张三");
}
}
a) 运行结果为:
学号:1 姓名:张三
b) 运行结果为:
学号:null 姓名:null
c) 程序出现编译错误
d) 程序出现运行时异常
main方法在外面...
15.在如下所示的Test类中,共有( c)个构造方法。
public class Test{
private int x;
public Test() {
x = 34;
}
public void Test(double f) {
this.x = (int)f;
}
public Test(String s) {
}
}
a) 0
b) 1
c) 2
d) 3
public Test() {//1
x = 34;
}
public Test(String s) {//2
}
16.下面代码的运行结果是(b)。
public class Car{
public void run(){
System.out.println(“汽车在跑”);
}
}
public class Benz extends Car{
public void run(){
System.out.println(“奔驰在跑”);
}
}
public static void main(String[] args){
Car car = (Car)(new Benz());
car.run();
}
a汽车在跑
b奔驰在跑
c无法编译
d运行时将抛出异常
Car car = (Car)(new Benz());//还是向上转型,看成向下转型了,向下转型应该先向上转型才能向下转型,
25.下面有关Java异常处理模型的说法错误的是(a)。(选择一项)
a) 一个try块只能有一条catch语句
b) 一个try块中可以不使用catch语句
c) catch块不能单独使用,必须始终与try块在一起
d) finally块不能单独使用,必须始终与try块在一起
超纲...
27.下面关于Java接口说法错误的是(c )。 (选择一项)
a) 一个java接口是一些方法特征的集合,但没有方法的实现
b) java接口中定义的方法在不同的地方被实现,可以具有完全不同的行为
c) java接口中可以声明私有成员
d) java接口不能被实例化
c:在1.9之后可以声明私有方法不可以声明私有成员,接口中成员都是被public static final修饰的常量,常量名都大写
29.给定如下Java程序的代码片段,在下划线处,加入(a,c )语句,可以使这段代码编译通过。
public void method1() throws IOException{}
public void method2()__________{
method1();
}
(选择二项)
a) throws IOException
b) throw IOException
c) throws Exception
d) throws RuntimeException
//超纲
30.给定Java代码如下所示,则编译运行后,输出结果是(c )。
class Parent{
public void count(){
System.out.println(10%3);
}
}
public class Test extends Parent{
public void count(){
System.out.println(10/3);//3
}
public static void main(String args[]) {
Parent p = new Test();
p.count();
}
}
(选择一项)
a) 1
b) 1.0
c) 3
d) 3.33333333333333335
c:默认为int类型
抽象类可以继承类
11.给定任意两个正整数,求最大公约数和最小公倍数
public static void main(String[] args) {
int a = 10;
int b = 20;
for (int i = b; i >= 1; i--) {
if (a%i==0 && b%i==0) {
System.out.println("最大公约数:"+i);
System.out.println("===========================");
System.out.println("最小公倍数:"+(i*(a/i)*(b/i)));
break;
}
}
}
12.1-1000完美数
public static void main(String[] args) {
for (int i = 2; i <= 1000; i++) {
int sum = 0;
for (int j = 1; j < i ; j++) {
if (i%j==0) {
sum += j;
}
}
if (sum == i) {
System.out.println(" "+i);
}
}
}