《java编程作业姓名讲解》由会员分享,可在线阅读,更多相关《java编程作业姓名讲解(13页珍藏版)》请在金锄头文库上搜索。
1、一、填空题1 如果一个方法不返回任何值,则该方法的返回值类型为 void 。2 如果子类中的某个方法名、返回值类型和_参数列表_与父类中的某个方法完全一致,则称子类中的这个方法覆盖了父类的同名方法。3 接口中所有的属性均为public_、_static_和_final_的4 抽象 方法是一种仅有方法声明,没有具体方法体和操作实现的方法,该方法必须在 抽象 类之中定义。5 在Java程序中,通过类的定义只能实现 extends 重继承,但通过implements 的定义可以实现多重继承关系。6 一般Java程序的类主体由两部分组成:一部分是 成员变量 ,另一部分是 成员方法 。7 分别用 cla
2、ss 关键字来定义类,用 new 关键字来分配实例存储空间。8 当一个类的修饰符为 类 时,说明该类不能被继承,即不能有子类。9 在Java中,能实现多重继承效果的方式是 接口 。二、选择题1 方法内定义的变量(B )。A一定在方法内所有位置可见 B可能在方法的局部位置可见C在方法外可以使用 D在方法外可见2 方法的形参( D)。A可以没有B至少有一个C必须定义多个形参 D只能是简单变量3 return语句(D)。A不能用来返回对象 B只可以返回数值C方法都必须含有 D一个方法中可以有多个4 main()方法的返回值类型是(C)。AbooleanBintCvoid Dstatic5 编译并运行
3、下面的程序,运行结果是(C )。public class A public static void main(String args) A a=new A(); a.method(8); void method(int i) System.out.println(“int: ”+i); void method(long i) System.out.println(“long: ”+i); A程序可以编译运行,输出结果为:“int: 8” B程序可以编译运行,输出结果为:“long: 8” C程序有编译错误,因为两个method()方法必须定义为静态(static)的D程序可以编译运行,但是没有
4、输出6 能作为类及其成员的修饰符是(D )。AinterfaceBclassCprotected Dpublic7 下列方法定义中,方法头不正确的是(C )。Apublic static x(double a) Bpublic static int x(double y)Cvoid x(double d) Dpublic int x()8 构造方法在( D )时被调用。A类定义时B使用对象的变量时C调用对象方法时 D创建对象时9 下列哪个类声明是正确的(C )。Apublic abstract class CarBabstract private move()Cprotected privat
5、e number; Dabstract final class H110 下列不属于面向对象程序设计的基本特征的是(A )。A抽象 B封装C继承 D静态11 请看下面的程序段class Person String name,department;int age;public Person(String n)name=n;public Person(String n,int a)name=n; age=a;public Person(String n, String d, int a )/doing the same as two arguments version if constructer
6、下面那个选项可以添加到/ doing the same处( D )APerson(n,a) Bthis(Person(n,a)Cthis(n,a) Dthis(name.age)12 请看下面的程序段class Test private int m;public static void fun() /some code方法fun()如何来访问变量m( B )A将private int m 改成protected int m B将private int m 改成public int mC将private int m 改成static int m D将private int m 改成int m 1
7、3 有一个类A,对于其构造函数的声明正确的是(B )。Avoid A(int x)Bpublic A(int x)CA A(int x)Dint A(int x)14 请看下面的程序段public class Test long a=new long10; pubic static void main(String args)System.out.println(a6);哪一个选项是正确的( D )。A不输出任何内容B输出0C当编译时有错误出现 D当运行时有错误出现15 关键字( B)表明一个对象或变量在初始化后不能修改。Aextends BfinalCthis Dfinalize16 声明为
8、static的方法不能访问(C )类成员。A超类 B子类C非static D用户自定义类17 定义类A如下:(重要)class A int a,b,c; public void B(int x,int y, int z) a=x;b=y;c=z;下面对方法B的重载哪些是正确的(C )。Apublic void A(int x1,int y1, int z1) a=x1;b=y1;c=z1;Bpublic void B(int x1,int y1, int z1) a=x1;b=y1;c=z1;Cpublic void B(int x,int y) a=x;b=y;c=0; Dpublic B(
9、int x,int y, int z) a=x;b=y;c=z;18 编译运行下面的程序,结果是(D )。(重要)public class A public static void main(String args)B b=new B();b.test(); void test()System.out.print(“A”); class B extends A void test()super.test();System.out.print(“B”); A产生编译错误 B代码可以编译运行,并输出结果:ABC代码可以编译运行,但没有输出 D编译没有错误,但会产生运行时异常19 已知类关系如下:C
10、lass EmployeeClass Manager extends EmployeeClass Director extends Employee则下列语句正确的是:(C )。AEmployee e=new Manager(); BDirector d=new Manager();CDirector d =new Employee (); DManager m=new Director ();20 接口是Java面向对象的实现机制之一,以下说法正确的是(A )。AJava支持多重继承,一个类可以实现多个接口BJava只支持单重继承,一个类可以实现多个接口CJava只支持单重继承,一个类可以实
11、现一个接口 DJava支持多重继承,但一个类只可以实现一个接口21下列方法的声明中不合法的是 C 。Afloat area( )Bvoid area( ) CareaDint area(int r)22、下面哪个包是编程时不需要导入就可以直接使用的 A 。ABjava.langCjava.sqlDjava.util23、调用构造方法是在 B 。A类定义时B创建对象时C调用对象的方法时D使用对象的变量时24、在子类构造方法的哪个地方可以调用其父类的构造方法 A 。A任何地方B构造方法的第一条语句 C构造方法的最后一条语句 D无法在子类构造方法中调用父类的构造方法25、关于Java中的继承,下列说
12、法错误的是 B 。A继承是面向对象编程的核心特征,通过继承可以更有效地组织程序结构。B继承使得程序员可以在原有类的基础上很快设计出一个功能更强的新类,而不必从头开始,避免了工作上的重复。C每一次继承时,子类都会自动拥有父类的属性和方法,同时也可以加入自己的一些特性,使得它更具体、功能更强大。D继承一般有多重继承和单一继承两种方式,在单一继承中每一个类最多只有一个父类,而多重继承则可以有多个父类。Java中的类都采用多重继承。26、当方法中的局部变量与成员变量同名时,必须使用下列哪一个关键字指出成员变量 C 。AstaticBsuperCthisDnew27、什么样的方法不能被重写 D 。A私有
13、(private)方法B最终(final)方法C受保护(protected)的方法D以上都不对28、下列有关抽象类与接口的叙述中正确的是哪一个 C 。A抽象类中必须有抽象方法,接口中也必须有抽象方法B抽象类中可以有非抽象方法,接口中也可以有非抽象方法C含有抽象方法的类必须是抽象类,接口中的方法必须是抽象方法D抽象类中的变量定义时必须初始化,而接口中不是29、从下列程序中你发现了几处错误 C 。abstract class Aabstract void f(); public abstract void k(); class B extends Aprotected void f() void k()System.out.print(I am subclass);public static void main(String args) A a=new A();a.f(); a.k();A1