抽象方法必须在抽象类中

  • 格式:doc
  • 大小:137.00 KB
  • 文档页数:21

一、判断题1、抽象方法必须在抽象类中,所以抽象类中的方法都必须是抽象方法。

2、Final类中的属性和方法都必须被final修饰符修饰。

3、最终类不能派生子类,最终方法不能被覆盖。

4、子类要调用父类的方法,必须使用super关键字。

5、一个Java类可以有多个父类。

6、如果p是父类Parent的对象,而c是子类Child的对象,则语句c = p是正确的。

7、一个类如果实现了某个接口,那么它必须重载该接口中的所有方法。

8、接口是特殊的类,所以接口也可以继承,子接口将继承父接口的所有常量和抽象方法。

9、子类的域和方法的数目一定大于等于父类的域和方法的数目。

10、所谓静态初始化器就是在构造函数之前加上static修饰符11、在java中,一个类可同时定义许多同名的方法,这些方法,这些方法的形式参数的个数、类型或顺序各不相同,这种面向对象程序特性称为隐藏。

12、一个类只能有一个父类,但一个接口可以有一个以上的父接口13、抽象类没有具体对象,所以抽象类没有构造函数14、接口是特殊的类,所以接口也可以继承,予接口将继承父借口的所有常量和抽象方法15、Java语言不支持类的多重继承16、一个类就相当于一种数据类型。

17、类的定义是可以嵌套的18、方法重载要求方法名相同,参数列表也相同。

19、方法覆盖要求子类的方法与被覆盖的方法的方法头完全一致,范围一致或变小。

()多选题(每题两个正确答案)1. 在Java中,下列哪两句是正确的: ()cdA. 子类的构造方法与父类的构造方法同名B. 子类可以继承父类的所有方法C. 子类不一定能继承父类的所有方法D. 子类可以继承父类protected和public的方法E. 子类可以继承父类protected和private的方法2. MyPoint方法,返回Point类型,其定义正确的是: ()acA. pub lic Point MyPoint (int x){…}B. public int MyPoint (int x) {…}C. static Point MyPoint ( int x, int y) {…}D. static int MyPoint (Point p) {…}3. 若有以下接口的定义:public interface IA extends IB ,IC, ID{…};则:()bdA. 这个接口的声明是错误的B. 接口IA继承了接口IB,IC和IDC. 接口IA实现了接口IB,IC和IDD. 关键字extends指明接口的继承关系4. 下面哪几个函数是public void example(){...}的重载函数?( ) adA public void example( int m){...}B public int example(){...}C public void example2(){...}D public int example ( int m, float f){...}5. 已知如下定义:String s = "story";下面哪个表达式是合法的( ) adA s += "books";B char c = s[1];C int len = s.length;D String t = s.toLowerCase();6.定义主类的类头时可以使用到的关键字是()abA. abstractB. finalC.privateD. super(一) 单选题(共12题,每题2分,共24分)。

1. 程序设计语言的三种基本控制结构是: (B)A. 输入、处理、输出B. 顺序、选择、循环C. 树形、网形、环形D. 主程序、子程序、函数2. 在Java中,下列哪句话是正确的: (A)A. 几个类可以写在一个文件里B. 一个类可以写在几个文件里C. 类的名称是不区分大、小写的D. 方法的名称是不区分大、小写的3. 一个必须被继承的类要用哪个关键字来描述: (D)A. staticB. protectedC. finalD. abstract4. 下面程序的输出结果是:(D)class DemoClass{public static void main(String args[]){int i=1,s=5;do{s += i;i++;}while(i < 5);System.out.println(“s=”+s); }}A. s=0B. s=5C. s=10D. s=155. 下列方法method的定义正确的是(A)A. private int method () {char ch=’a’; return (int) ch; }B. public void method {int a=8; return a;}C. int method (int i ) {return (double) (i+10) ;}D. method (int a) {return a;}6. 哪一组都是Java关键字:(C)A. Student, float, main, publicB. byte, boolean, box, floatC. long, extends, float, doubleD. classes, float, short, import7. 下面哪种说法是正确的: (C)A. String是用来处理字符串的类,而StringBuffer不是B. StringBuffer是用来处理字符串的类,而String不是C. String和StringBuffer都是用来处理字符串的类D. String和StringBuffer都不是用来处理字符串的类8. int x=1,a=0,b=0;switch(x){case 0: b++;break;case 1: a++;break;case 2: a++;b++;break;}System.out.println("a="+a+",b="+b);该程序的输出结果是(A)A. a=1,b=0B. a=1,b=1C. a=1,b=2D. a=2,b=29. 下面哪个赋值语句是不合法的?(A)A、float a = 2.0B、double b = 2.0C、int c = 2D、long d = 210. 下面四组变量命名,符合JAVA变量命名规则的是(D)A. a@bcB. 6xC. voidD. ye_7811. 定义类A及类中的方法getVar(),定义类A的子类B,若要在类B中覆盖类A的同名方法,下面正确的定义是(C)class A{private float x = 1.0f;protected float getVar(){return x;}}class B extends A{private float x = 2.0f;//覆盖类A中的同名方法的代码放在此处}A. float getVar(){return x;}B. protected float getVar(float y){return x_y;}C. protected float getVar(){return x;}D. public float getVar(){return x;}12. 根据下面给出的代码,判断哪个叙述是正确的。

(B)public class Person {static int arr[]=new int[10];public static void main ( String a[] ) {System.out.println ( arr[12] );}}A. 编译时将发生错误B. 编译时正确但是运行时出错C. 输出为0D. 输出为null二、选择题1、关于被私有保护访问控制符private protected修饰的成员变量,以下说法正确的是()A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问2、关于被私有访问控制符private修饰的成员变量,以下说法正确的是()A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问3、关于被保护访问控制符protected修饰的成员变量,以下说法正确的是()A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问4、下列关于修饰符混用的说法,错误的是()A.abstract不能与final并列修饰同一个类B.abstract类中不可以有private的成员C.abstract方法必须在abstract类中D.staic方法中能处理非static的属性5、容器Panel和Applet缺省使用的布局编辑策略是()A、BorderLayoutB、FlowLayoutC、GridLayoutD、CardLayout6、以下标识符中哪项是不合法的( )A、BigMeaninglessNameB、$intC、1stD、$17、main方法是Java Application程序执行的入口点,关于main方法的方法头以下哪项是合法的()A、public static void main()B、public static void main(String[ ] args)C、public static int main(String[ ] arg)D、public void main(String arg[ ])8、执行完以下代码int [ ] x = new int[25];后,以下哪项说明是正确的()A、x[24]为0B、x[24]未定义C、x[25]为0D、x[0]为空9、以下代码段执行后的输出结果为()int x=3;int y=10;System.out.println(y%x);A、0B、1C、2D、310、以下哪个表达式是不合法的()A、String x=”Hello”; int y=9; x+=y;B、String x=”Hello”; int y=9; if(x= =y) { }C、String x=”Hello”; int y=9; x=x+y;D、String x=null; int y=(x!=null)&&(x.length()>0) ? x.length : 011、编译运行以下程序后,关于输出结果的说明正确的是()public class Conditional{public static void main(String args[ ]){int x=4;System.out.println(“value is “+ ((x>4) ? 99.9 :9));}}A、输出结果为:value is 99.99B、输出结果为:value is 9C、输出结果为:value is 9.0D、编译错误12、以下声明合法的是()A、default String s;B、public final static native int w( )C、abstract double d;D、abstract final double hyperbolicCosine( )13、关于以下application的说明,正确的是()1.class StaticStuff2.{3.static int x=10;4.static { x+=5;}5.public static void main(String args[ ])6.{7.System.out.println(“x=” + x);8.}9.static { x/=3;}10.}A、4行与9行不能通过编译,因为缺少方法名和返回类型B、9行不能通过编译,因为只能有一个静态初始化器C、编译通过,执行结果为:x=5D、编译通过,执行结果为:x=314、关于以下程序代码的说明正确的是()1.class HasStatic{2.private static int x=100;3.public static void main(String args[ ]){4.HasStatic hs1=new HasStatic( );5.hs1.x++;6.HasStatic hs2=new HasStatic( );7.hs2.x++;8.hs1=new HasStatic( );9.hs1.x++;10.HasStatic.x- -;11.System.out.println(“x=”+x);12.}13.}A、5行不能通过编译,因为引用了私有静态变量B、10行不能通过编译,因为x是私有静态变量C、程序通过编译,输出结果为:x=103D、程序通过编译,输出结果为:x=10215、以下选项中循环结构合法的是()A、while (int i<7){ i++;System.out.println(“i is “+i);}B、int j=3;while(j){ System.out.println(“ j is “+j);}C、int j=0;for(int k=0; j + k !=10; j++,k++){ System.out.println(“ j is “+ j + “k is”+ k);}D、int j=0;do{System.out.println( “j is “+j++);if (j = = 3) {continue loop;}}while (j<10);16、类Test1定义如下:1.public class Test1{2.public float aMethod(float a,float b){ }3.4.}将以下哪种方法插入行3是不合法的。