收藏 分销(赏)

抽象方法必须在抽象类中.doc

上传人:s4****5z 文档编号:8821521 上传时间:2025-03-03 格式:DOC 页数:21 大小:137KB
下载 相关 举报
抽象方法必须在抽象类中.doc_第1页
第1页 / 共21页
抽象方法必须在抽象类中.doc_第2页
第2页 / 共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中,下列哪两句是正确的: ( ) cd A. 子类的构造方法与父类的构造方法同名 B. 子类可以继承父类的所有方法 C. 子类不一定能继承父类的所有方法 D. 子类可以继承父类protected和public的方法 E. 子类可以继承父类protected和private的方法 2. MyPoint方法,返回Point类型,其定义正确的是: ( )ac A. public 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{…};则:( ) bd A. 这个接口的声明是错误的 B. 接口IA继承了接口IB,IC和ID C. 接口IA实现了接口IB,IC和ID D. 关键字extends指明接口的继承关系 4. 下面哪几个函数是public void example(){...}的重载函数?( ) ad A 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";下面哪个表达式是合法的( ) ad A s += "books"; B char c = s[1]; C int len = s.length; D String t = s.toLowerCase(); 6.定义主类的类头时可以使用到的关键字是( ) ab A. abstract B. final C.private D. super (一) 单选题(共12题,每题2分,共24分)。 1. 程序设计语言的三种基本控制结构是: (B) A. 输入、处理、输出 B. 顺序、选择、循环  C. 树形、网形、环形 D. 主程序、子程序、函数 2. 在Java中,下列哪句话是正确的: (A) A. 几个类可以写在一个文件里 B. 一个类可以写在几个文件里 C. 类的名称是不区分大、小写的 D. 方法的名称是不区分大、小写的 3. 一个必须被继承的类要用哪个关键字来描述: (D) A. static B. protected C. final D. abstract 4. 下面程序的输出结果是: (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=0 B. s=5 C. s=10 D. s=15 5. 下列方法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, public B. byte, boolean, box, float C. long, extends, float, double D. classes, float, short, import 7. 下面哪种说法是正确的: (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=0 B. a=1,b=1 C. a=1,b=2 D. a=2,b=2 9. 下面哪个赋值语句是不合法的? (A) A、float a = 2.0 B、double b = 2.0 C、int c = 2 D、long d = 2 10. 下面四组变量命名,符合JAVA变量命名规则的是 (D) A. a@bc B. 6x C. void D. ye_78 11. 定义类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. 输出为0 D. 输出为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、BorderLayout B、FlowLayout C、GridLayout D、CardLayout 6、以下标识符中哪项是不合法的( ) A、 BigMeaninglessName B、$int C、1 st D、$1 7、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]为0 B、x[24]未定义 C、x[25]为0 D、x[0]为空 9、以下代码段执行后的输出结果为( ) int x=3; int y=10; System.out.println(y%x); A、0 B、1 C、2 D、3 10、以下哪个表达式是不合法的( ) 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 : 0 11、编译运行以下程序后,关于输出结果的说明正确的是 ( ) 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.99 B、输出结果为:value is 9 C、输出结果为:value is 9.0 D、编译错误 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 StaticStuff 2. { 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=5 D、 编译通过,执行结果为:x=3 14、关于以下程序代码的说明正确的是( ) 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=103 D、 程序通过编译,输出结果为:x=102 15、以下选项中循环结构合法的是( ) 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是不合法的。( ) A、 public float aMethod(float a, float b,float c){ } B、 public float aMethod(float c,float d){ } C、 public int aMethod(int a, int b){ } D、 private float aMethod(int a,int b,int c){ } 17、类Test1、Test2定义如下: 1. public class Test1 2.{ public float aMethod(float a,float b) throws 3. IOException { } 4. } 5. public class Test2 extends Test1{ 6. 7.} 将以下哪种方法插入行4是不合法的。( ) A、 float aMethod(float a,float b){ } B、 public int aMethod(int a,int b)throws Exception{ } C、 public float aMethod(float p,float q){ } D、 public int aMethod(int a,int b)throws IOException{ } 18、关于以下程序段,正确的说法是( ) 1. String s1=”abc”+”def”; 2. String s2=new String(s1); 3. if(s1= =s2) 4. System.out.println(“= = succeeded”); 5. if (s1.equals(s2)) 6. System.out.println(“.equals() succeeded”); A、行4与行6都将执行 B、行4执行,行6不执行 C、行6执行,行4不执行 C、行4、行6都不执行 19、以下说法哪项是正确的( ) 1.class MyListener 2.extends MouseAdapter implements MouseListener{ 3. public void mouseEntered(MouseEvent mev) 4. { System.out.println("Mouse entered."); } 5. } A、 以上代码可通过编译 B、 不能通过编译,因为没有实现MouseListener接口中的所有方法 C、 不能通过编译,因为类头定义不能分行 D、 能通过编译,若组件用该类作为Mouse的监听者并且接收了mouse-exited事件,则在执行过程中会抛出异常 20、关于以下程序段的说法,正确的是( ) 1.class MyListener implements 2. ActionListener,ItemListener{ 3. public void actionPerformed(ActionEvent ae){ 4. System.out.println("Action");} 5. public void itemStateChanged(ItemEvent ie){ 6. System.out.println("Item"); 7. } 8.} A、 可通过编译 B、 第2行产生编译错误 C、 第3行产生编译错误 D、 第5行产生编译错误 21、通过调用 new List(10,false)创建一个列表,关于该列表的几个说法哪项是错误的。( ) A、该列表不支持复选 B、该列表有10个选项 C、根据需要该列表可能有垂直滚动条 D、该列表支持10个可见选项 22、以下哪项可能包含菜单条( ) A、Panel B、Frame C、Applet D、Dialog 23、以下代码完成画线功能,指出所画线的颜色( ) 1.g.setColor(Color.red.green.yello.cyan); 2.g.drawLine(0,0,100,100); A、red B、green C、yello D、cyan 24、关于以下代码所画图形的说明,正确的是( ) 1.g.setColor(Color.black); 2.g.drawLine(10,10,10,50); 3.g.setColor(Color.red); 4.g.drawRect(100,100,150,150); A、 一条40像素长的垂直红线,一个边长为150像素的红色四方形 B、 一条40像素长的垂直黑线,一个边长为150像素的红色四方形 C、 一条50像素长的垂直黑线,一个边长为150像素的红色四方形 D、 一条50像素长的垂直红线,一个边长为150像素的红色四方形 三、 改错题 判断下面的程序片断是否正确。若有错,指出错在哪里并改正;若正确,打“√”。 1、class MyClass { int var=100; static int getVar() { return var; } } 2、public class MyClass { int data; void MyClass(int d) { data=d;} } 3、public class MyMain { public static void main(String args[ ]) { System.out.println(MyClass1.data);} } class MyClass1 { int data=10; } 4、class IamAbstract { final int f; double d; abstract void method(); } 5、class parent { private int mine; } class child extends parent { int getMine() { return mine; } } 6、class parent { private int mine; int getMine( ) { return mine; } } class child extends parent { int mine; int getMine( ) { return super.getMine; } } 7、 class AmIWrong { int data1,data2; AmIWrong() { data1=-1; } AmIWrong(int d) { data2=d; this(); } } 8、interface MyInterface { void method1(); } abstract class Parent implements MyInterface { } class Child extends Parent { void method1() { System.out.println(“I am implemented now!”); } } 9、public static void main(String args[ ]) { try{ char ch=(char)System.in.read(); . . .//其他语句 } catch(Exception e) { return; } catch(IOException e) { System.out.println(e.toString()); } } 10、public class AmIWrong implements Runnable { Thread mt=Thread(this); mt.start(); void run() { System.out.println(“I am alive now”); } } 四、程序阅读 1、阅读以下程序,输出结果为 。 class Q1{ public static void main(String args[ ]){ double d=1.23; Dec dec=new Dec( ); dec.decrement(d); System.out.println(d); } classs Dec{ public void decrement(double decMe){ decMe = decMe - 0.1; } } 2、以下程序的输出结果为 。 public class Short{ public static void main(String args[ ]) { StringBuffer s = new StringBuffer(“Hello”); if((s.length( )>5)&& (s.append(“there”) . equals(“False”))) ; System.out.println(“value is ”+s); } } 3、以下程序段的输出结果为 。 int x=0,y=4, z=5; if ( x>2){ if (y<5){ System.out.println(“Message one”); } else { System.out.println(“Message two”); } } else if(z>5){ System.out.println(“Message three”); } else { System.out.println(“Message four”); } 4、以下程序段的输出结果为 。 int j=2; switch ( j ) { case 2: System.out.print(“Value is two.”); case 2+1 : System.out.println(“Value is three.”); break; default: System.out.println(“value is “+j); break; } 5、 阅读以下程序段: class Parent { void printMe() { System.out.println(“parent”); } } class Child extends Parent { void printMe() { System.out.println(“child”); } void printAll() { super.printMe(); this.printMe(); printMe(); } } public class Test_this { public static void main(String args[ ]) { Child myC=new Child(); myC.printAll(); } } 输出结果为: 6、以下程序段的输出结果为 。 public class EqualsMethod { public static void main(String[] args) { Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.print(n1= =n2); System.out.print(“,”); System.out.println(n1! =n2); } } 7、已有Bird类的定义如下: package abcde; public class Bird { protected static int referenceCount=0; public Bird(){referenceCount++;} protected void fly(){ } static int getReCount(){return referenceCount;} } 有类Nightingale的定义如下,请写出它的输出结果 。 package singers; class Nightingale extends abcde.Bird { Nightingale( ) { referenceCount++;} public static void main( String args[ ]){ System.out.print(“Before:”+referenceCount); Nightingale florence=new Nightingale( ); System.out.println(“ After:”+referenceCount); florence.fly( ); } } 8、以下程序段的输出结果为 。 class Cruncher{ void crunch( int i ){ System.out.println(“int version”); } void crunch(String s){ System.out.println(“String version”); } public static void main(String args[ ]){ Cruncher crun=new Cruncher ( ); char ch=’p’; crun.crunch(ch); } } 第二页 ( )1、所谓静态初始化器就是在构造函数之前加上static修饰符。 ( )2、java application 是同独立解释器程序来运行的。 ( )3、java的字符类型彩是Unicode编码,每个unicode码占8个比特。 ( )4、子类的域和方法的数目一定天于等于父类的域和方法和数目。 ( )5、构造函数是类的一种特殊函,它的方法名必须与类名相同,它的返回类型只能是void ( )6、Vector类中的对象不能是简单数据类型。 ( )7、java中的String类的对象既可以是字符串常量,也可以是字符串变量。 ( )8、在java中,一个类可同时定义许多同名的方法,这些方法,这些方法的形式参数的个数、类型或顺序各不相同,这种面向对象程序特性称为隐藏。 ( )9、java中并非每个事件类都只对应一个事件。 ( )10、一个类只能有一个父类,但一个接口可以有一个以上的父接口 ( )11、抽象类没有具体对象,所以抽象类没有构造函数。 ( )12、子类要调用父类的方法,必须使用super关键字 ( )13、如果P是父类PARENT的对象而C是子类Child的对象,则语句c=p是正确的 ( )14、当一个方法在运行过程中产生一个异常,则这个方法会终止,但是整个程序不一定终止运行 ( )15、一个线种对象的具体操作是同run()方法的内容确定的,但是Thread类的run()方法是空的,其中没有内容;所以用户程序要么派生一个Thread的子类并在子类里重新定义run()方法,要么使一个类实现Rnnnable接口并书定写其中run()方法的方法体 1、以下哪个代码段可以成功通过编译并在运行时打印出"yes"?() A、 int x=100; Integer y=new Integer(100); if(x==y){sysytem.out.println("yes"); B、 int x=100; float y=100.0f; if(x==y){sysytem.out.println("yes"); C、integer x=new Integer(100) integer y=new Integer(100) int x=100; Integer y=new Integer(100); if(x==y){sysytem.out.println("yes"); D、String x=new String("100"); String y=new String("100"); int x=100; Integer y=new Integer(100); if(x==y){sysytem.out.println("yes"); 2、在使用inter face声明一个接口时只可以用( )修饰符修饰该接口 A、private B、protected C、public D、private protected 3、设有下面两个赋值语句,以下说法正确的是 a=integer.parseInt("1024"); B=integer.va
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服