第3章面向对象的程序设计.doc_第1页
第3章面向对象的程序设计.doc_第2页
第3章面向对象的程序设计.doc_第3页
第3章面向对象的程序设计.doc_第4页
第3章面向对象的程序设计.doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3.1 判断正误* 下面程序输出数字0. Public class J_test Static int m_data; m_data=0; public static void main(String args ) System.out.println(m_data); /方法main结束/类J_Test结束3.2 判断正误*Java语言为所有的Java程序自动导入包“java.lang”中的类型和接口。位于类继承关系层次结构树的根部的类Objiect就是在包“java.lang”中的一类。3.3 判断正误*有时候为了避免引起混淆,构造方法的方法名可以不与所属类名同名。3.4 判断正误*构造方法一般不允许有任何返回值,因此需要在返回类型处标注为void.3.5 判断正误*任何类都必须显式地定义该类的结构方法,以便对类的成员进行各种初始化操作。3.6 判断正误*运行下面程序将在控制台窗口中输出a. Public class J_Test Public J_Test( ) Char c=a; /方法J_Test结束public static void main(String args) System.out.println(c);/方法main结束类J_Test结束3.7【判断正误】下面的程序将输出“Creating Rock 2” Class J_Rock J_Rock(int i) System.out.println(“Creating Rock”+i); / 类J_Rock结束 Class J_SubRock extends J_Rock Class J_RockApplication Public static void main(String args New J_Rock(2); /方法main结束 / 类J_RockApplication结束3.8 【判断正误】Java语言对内存的释放是采用垃圾自动回收机制。Java虚拟机自动判断并收集“垃圾“,但一般不会立即释放他们的存储空间。3.9【判断正误】Java系统提供了方法“System.gc()”来强制立即回收“垃圾”,即当调用该方法时,系统会立即回收“垃圾”。3.10【判断正误】程序可以借助于finalize方法来精确记录在程序执行过程中内存资源的释放情况。3.11【判断正误】如果在定义一个类的时候没有定义关键字extends,则这个类没有直接父类。3.12【判断正误】Java语言规定:任何一个子类的构造方法都必须调用其父类的构造方法(包括隐式调用),并且调用父类构造方法的语句必须是子类构造方法的第一条语句。3.13【判断正误】在同一个类中,不允许存在具有相同方法名和相同参数类型列表地方法,即使该方法的返回类型不相同。3.14【判断正误】如果一个类不是内部类,则它的访问属性不能是private或者protected。3.15【判断正误】抽象方法不能含有方法体,并且必须在抽象类中。3.16【判断正误】抽象类不能实例化的。抽象类的实例化,应当通过其不具有抽象属性的子类来创建。3.17 【判断正误*】下面的程序输出整数3.public class J-Test public int m-data=3; public static void mian(String args) System.out.println(m-data); /方法main结束 /类J-Test结束3.18【判断正误*】设在一个Java包.tsinghua.kit中含有源程序文件J-Data.java,其内容如下:package .tsinghua.kit;public interface J-DataDouble PI=3.141592653589793;接口 J-Data结束在另一个包中含有源程序文件J-Ttest.java,其内容如下Import .tsinghua.kit. J-Data;Public class J-TestPublic static void main (String args)System.out.println(int)J-Data.PI;/方法main结束 /类J-Test结束 假设类路径设置及源程序文件所在的路径都是正确的,则上面的程序可以正常进行编与运行,最终可以输出3。3.19 【填空题*】面向对象的计算机语言一般应具有3个基本特性,分别是 继承性 多态性 封装性3.20 【填空题*】在下面的源代码中,类J-Example的域是m_x,构造方法是Public class J-Example(),当该类的实例对象在被释放之前有可能被系统自动调用的方法是Protected void finalize( ) throws Throwable。Public class J-ExamplePrivate int m-x;Public J_Example( )m_x=0;Public void mb_show( ) System.out.println(“x=”+m_x);Protected void finalize( ) throws Throwable System.out.println(“x is”+m_x);Super. finalize( ) ;Public stastic void main (String args )/类 J_Example 结束3.21填空题*在下面的程序中编译之后,按“java J_Test”方式运行的结果是:args0=1,args1=2,args2=3,Public class J_Test Public static void main (String args ) int i; for (i=0;iargs .length; i+ ) System.out.print(“args“+i+”=”+argsi+”;”); /方法main结束)/类J_Test结束3.22天空题*运行下面程序,会输入J_SuperClass J_SubClassJ_SuperClass.Class J_SuperClass J_SuperClass( ) System.out.print(“J_SuperClass”);/方法J_SuperClass结束/类J_SuperClass结束class J_SubClass extends J_SuperClass J_SubClass( ) System.out.print(“J_SubClass ”); / 方法J _SubClasss结束/类 J_SubClass结束public class J_Test public static void main(String args ) new J_SubClass( ) new J_SuperCass( ); / 方法main结束 /类 J _Test结束3.23填空题*运行下面程序,会输出J_SuperClassJ_SuperClass 。 Class J_SuperClass J_SuperClass()System.out.print(“J_SuperClass”);/方法_uperClass结束/类J_SuperClass结束Class J_SubClass extends J_SuperClass void J_SubClass() System.out.print(“J _SubClass)/方法J_SubClass结束/类J_SubClass结束public class J_Test Public static void main(String args) new J_SubClass(); new J_SuperClass();/方法main结束/类_Test结束3.24填空题* 语句“J_Example a=new J_example( );”定义了变量a=null。想释放变量a所指向的实例对象的内存空间,请写出相应的一条或多条语句:System.gc()。3.25填空题*请按要求完成下面的程序。最终该程序的输出结果是:5。classJ_Super Public int m_datasuper;Public J_Super(int d) m_dataSuper=d/方法J_Super结束/类J_Super结束Public class J_Test extends J_SuperPublic int m_data Public J_test(int ds int d ) super (ds)/要求将其父类的成员域m_dataSuper初始化为ds的值 m_data=d/方法J_Test结束Public static void main(string args ); J_Test s=new J_Tset(2,3); System.out.println(s.m_data+s.m_dataSuper);/方法main结束/类J_Test结束3.26填空题*请写出下面程序的输出结果:Test。Class J_basePublic void mb_method() System.out.println(“Base”)/类J_BasePublic class J_Test extends J_BasePublic void mb_method() System.out.println(“Test”)/方法mb_method结束Public static void main(String args Object a=new J_Test();(J_Base)a).mb_method();/方法 main结束/类J_Test结束3.27【填空题】下面程序的输出是 填空。Class J_SuperClass Void mb_method() System.out.println(“J_SuperClass:mb_method”);/方法 mb_method 结束Static void mb_methodStatic()System.out.println(“J_SupoerClass:mb_methodStastic”);/方法mb=methodStastic 结束/类J_SUperClass结束 public class J_Test extends J_SuperClassvoid mb_method()System.out.println(“J_Test:mb_method”);/方法mb_method 结束Stastic void mb_methodStastic System.out println(“J_Test:mb_methodstatic);/方法 mb_methodStatic 结束Public static void main(String args J_ SuperClass a = new J_Test( );a.mb_mrthod( );a.mb_methodStatic;J_Test b=new J_Test( );b.mb_method( );b.mb_methodStatic( );/方法main结束/类J_Test结束J_Test:mb_methodJ_SuperClass:mb_methodStaticJ_Test:mb_methodJ_Test:mb_methodStatic3.28填空题* 请写出下面程序的输出结果; 18。class J_SuperClassint m_data;J_SuperClass( )mb_add(1)/ 方法 J_SuperClass结束public void mb_add(int i) m_data+=i;/方法mb_add( ) Public void mb_print() System.out.println(m_data);/方法 mb_print结束/类J_Superclass 结束class J_SubClass extends J_SuperClass J_SbuClass( ) mb_add(2);/方法 J _Subclass结束public void mb_add(int i) m_data+=i*2;/方法mb_add结束类 J_Subclass 结束public class J_Testpublic static void mb_method(J_SuperClass a)a. mb_add(6);a. mb_print( ); / 方法 mb_method 结束 Public static void main(String args ) mb_method(new J_SubClass( );/方法 main 结束/类 J-Test 结束3.29 填空题*下面程序输出的结果是4 public class J_Test Static int m_data =0; Public int mb_method( ) M_data + ; return m_data; /方法 mb_method 结束 Public static void main(String args ) J-Test a =new J_Test( ); J-Test b =new J_Test( ); J-Test c = new J_Test( ); a.mb_method( ); b.mb_method( ); c.mb-method( ); int i = a.mb_method( ); System. out. println(i); /方法 main 结束 / 类 J-Test 结束30选择题*关于下面的代码,那些结论是正确的?BDClass J_Superclass J_SuperClass( )/方法J_SuperClass结束/类J_SuperClass结束ClassJ_SubClass extendsJ_superClass/类J-subclass结束(A) 类J_SubClass的结构方法具有public属性(B) 类J_SubClass的构造方法不含参数/(C) 类的J_SubClass的构造包含调用this( )(D) 类的J_SubGlass构造方法包含调用super( )31选择题*对于下面哪些类定义,可以通过“newJ_Class( )”生成类的实例对象?(A)Public classJ_Class (B)Public classJ_Class Publi_class(void)()public class_Classj public class J_ classPublic J_Class(String s)()Public class J_ClassPublic void J_Class()Public J_class(string s) 3.32选择题*关于下面的程序,那些结论是正确的?CPublic class J_TestPublic J_Test( ) System.out.print(“2”); /方法J-Test结束Public static viod main (String args ) J-Test s=new J_Test();.J_Test();ystem.out.print( “1”); /方法main结束 /类J-Test结束(A) 程序可以通过编辑并正常运行,结果输出“21”(B) 程序可以通过编辑并正常运行,结果输出“221”(C) 程序无法通过编辑(D) 程序可以通过编辑,但无法正常运行3.33【选择题*】关于下面的程序,那些结论是真确的?Cclass J_Super Public int m_dataSuperpublic J_Super(int d) M_data super=d; /方法J_Super结束 /类J_Super结束 public class J_Test extends J_Super Public int m_data; public J_Test(int ds, int d) Super(d s); m-data=d; /方法J_Test 结束 Public static void main (String args ) J-Test s = new J_Test(2,3) System.out.println(s.m_date+s.m_dataSuper); / 方法 main 结束 / 类 J_Test 结束(A) 程序可以通过编译并正常运行,结果输出“5”(B) 程序可以通过编译并正常运行,结果输出“23”(C) 程序无法通过编译,没有输出(D) 程序可以通过编译,但无法正常运行3.34 【选择题*】下面的程序,那些结论是正确的?D Class J_super Public J_super( ) System.out.print(“1”) ./方法J_Super结束 /类J_Super结束 Class J_Sub extends J-Super Public J_Sub( ) System.out.print(“2”) ./方法J_Sub 结束 /类J_Sub结束Public class J_Test extends J_sub Public J_Test() Super .super ( ) System.out.print(“3”) / 方法J-Test 结束 Publc static void main (string args ) J-Test t= new J-Test( ) / 方法main 结束 /类J-Test结束(A) 程序可以通过编译并正常运行,结果输出“123”(B) 程序可以通过编译并正常运行,结果输出“13”(C) 程序可以通过编译并正常运行,结果输出“213“(D) 程序无法通过编译3.35【选择题*】关于下面的程序,那些结论是正确的A classJ-SubClass extends J_Test / 类J subClass 结束Pubbic class J_Test J_Test(int i)System.out.println(i)/方法J_Test结束Public static void main (string args) J_SubClass a=new J_SubClass();/方法main结束类J-Test结束(A) 不能通过编译,因为类J_Test没有定义无参数的构造方法(B) 不能通过编译,因为类J_SubClass 没有定义无参数的构造方法(C) 不能通过编译,因为没有实现J-SubClass(int i)构造方法(D) 可以成功通过编译3.36【选择题*】下面程序的输出时什么?BClassJ_TestInt m_i=2String m_s=null; J_Test()M_i=3;M_s=”constructor”;Public static void main (string args)J_Tes app=new J_Test();SystemOutprintln(appm_i+appm_s);/方法main结束/类J_Test结束(A)3null (B)3constructor (C)3constructor (D)2null3.37【选择题*】下面程序的输出是什么?DClassJ_Test Int m_i=2;String m_s=null;Void J_Test( )m_i=3;m-s=“constructor”;public static void main(string args icj-Test app=new j-Test;System.out.printlnapp.m-i+app.m-s;/方法main结束/类J-Test结束A3null B3constructor C2 constructor D2null 3.38选择题*关于Java的垃圾回收制,下面那些结论是正确的?BC(A)程序可以任意指定释放内存的时间(B)正确的程序写法是不能依赖于垃圾回收的时间或者顺序(C)程序可以明确的标识某个局部变量的引用不再被用( D)程序可以显式地立即释放对象占有的内存3.39选择题* 在下面程序片段的第35行中,应当添加什么语句可以使实例引用a访问(调用)到类J-Base的成员方法mb-method( )?D01.class J-Base02.03. public void mb-method( )04. 05. System.out.println(Base)06/方法mb-method结束07.08. 类J-Base结束09.10.class J_SuperClass extend 11. 12. public void mb_method( )13. 14.System.out.println(“Super”)15. /方法-method结束16.17. /类J_SuperClass结束18.19. class J_SubClass extend J_SuperClass20. 21.22. public void mb_method( )23. 24.System.out.println(“Sub”);25. /方法 mb_method 结束onstructor2627/类J_SubcClass结束28.29.public class J_Test30.31.32. public static void main(String args )33 _SubcClass a=new J_SubcClass( );34. J_SubClass a=new J_SubClass( )35/ 如何访问类J-Base的方法mb_method?36. /方法main结束37.38./ 类J_Test(A)a.mb-method( ) (B)a.super.mb- _method( ) (C)a,super.super.mb_method( ) (D)上面的答案均不对3.40选择题*关于下面的程序,那些结论是正确的?A 01.class J_class 02. 03. public int m_date =3 04. /类J_class结束 0506 public class J_Test07 0809. public static void main(String args )10. 11. Object a=(Object)new J_classs( )12. J Class b=(J Class)a13. System.out.println(“date=”+b.m-data);14. /方法main结束15. 16. /J-Test结束(A) 运行上面程序,结果输出“data=3”(B) 上面程序含有编译错误(C) 在运行上面程序时,第11行的语句会抛出一个异常(D) 在运行上面程序时,第12行的语句会抛出一个异常3.41【选择题*】关于下面程序(在同一个文件中),哪些结论是正确的?Aclass J-SuperClass /类J-SuperClass结束Class J_Subclass extends J_Superclass/ 类 J_Subclass 结束public class J_Textpublic static void main(String args )J-Superclass a = new J-Superclass ( )J_Subclass b = new J_Subclass( );b=a;/ 方法 main 结束/ 类J_Text 结束(A)无法通过编译,因为语句有错误(B)可以通过编译,但在运行时间出错(C) 可以通过编译,也可以正常运行(D) 无法通过编译,因为在同一个文件中类的个数太多3.42选择题*关于下面程序,那些结论是正确的?BClass J-Superclass/ 类 J_Superclass 结束Class J_Superclass extends J_Superclass / 类 J_Superclass 结束public class J_Textpublic static void main(String args )J-Superclass a = new J-Superclass ( )J_Subclass b = new J_Subclass( );b=(J_Subclass)a;/ 方法 main 结束/ 类J_Text 结束(A)无法通过编译,因为语句有错误(B)可以通过编译,但在运行时间出错(C) 可以通过编译,也可以正常运行(D) 无法通过编译,因为在同一个文件中类的个数太多343(选择题)下面那些选项的语句置于制定的位置会导致程序输出“sub”?DClass jBaseClass J_subclass extends J_BasePublic string mb_get string() return(“sub”);Class J_TestPublic static void main (string args) J_Base app=new J_subclass();/选项语句插入的位置/方法main结束/类J_Test结束(A)System.out.println(app.mb_get string();(B)System.out.println(J_Base)app. Mb_getstring();(C)System.out.println(J_subclass)app.mb_get string();(D) System.out.println(J_Subclass)app).mb_getstring);3.44选择题下面那些选项的语句置于指定位置会导致程序输出“sub”?ADClass jBasepublic string mb_getstring() return(“Base”);Class J_subclass extends J_Basepublic string mb _getstring() return(“sub”)Class J_Testpublic static void main(String args ) J-Base app=new J-SubClass( ); /选项语句插入的位置 /方法 main 结束 /类J-Test 结束(A) System.out.println (app.mb-getString( );(B) System.out.println(J-Base) app. mbv-getString( );(C) System.out.println(J-SubClass) app. mb-getString( );(D) System.out.println(J-SubClass)app).mb_getString( );3.45 选择题*下面哪些选项的语句置于指定的位置会导致程序输出“sub”?class J-Baseclass J-SubClass extend J-Basepublic String mb-getstring( ) return(“sub”);class J-Test public static void main(String arge ) J-SubClass app=(J-SubClass) new J-Base( ); /选项语句插入的位置 /方法main 结束 /类J-Test结束(A) System.out.println(app.mb-getString( );(B) System.out.println(J-Base)app.mb-getString( );(C) System.out.println(J-SubClass)app.mb-getString( );(D) System.out.println(J-SubClass)app).mb-getString( );3.46选择题*下面程序的输出结果是什么?CClass J-Basepublic int m-date=5public void mb-print( ) System.out.print(m-date); /方法 mb-print 结束public static void main(String args ) J-Base app=new J-SubClass( ); /选项语句插入的位置 /方法 main 结束 /类J-Test 结束3.49 选择题*关于下面程序代码,哪些选项的结论是正确的?Bpublic class J-Teststaticshortm-index;staticintm-age;publicstaticvoidmb-setData(shortn)m-index=n/方法mb-setData结束publicstaticvoidmb-setData(intage)m-age=age;/方法mb-setDATE结束publicstaticvoidmain(Stringargs)mb-setData(98);Sysem.out.println(Index=+m index+;Age=+mage);/方法main结束类Test结束(A)程序可以通过编译并正常运行,结果输出“Index=98; Age=0”(B)程序可以通过编译并正常运行,结果输出“Index=0; Age=98”(C)程序可以通过编译并正常运行,结果输出“Index=0; Age=0(D)程序可以通过编译并正常运行,结果输出“Index=98;Age=98”( E) 程序无法通过编译 3.50 选择题*关于下面程序代码,哪些选项的结论是正确的? Epublic class test static short-index static int m-age public static void mb-setData(short n) m-index=n; /方法 mb setdata结束 public static void main (String args ) mb-setData(98); System.out.println(“Index=”+m_index+”;Age=+m-age); /方法main结束 类J_Test结束(A) 程序可以通过编译并正常运行,结果输出“Index=98; Age=0” (B) 程序可以通过编译并正常运行,结果输出“Index=0 Age=98” (C) 程序可以通过编译并正常运行,结果输出“Index=0.ge=0” (D) 程序可以通过编译并正常运行,结果输出“Index=98; Age=98” 3.5选择题*关于下面程序代码,哪些选项的结论是正确的? Apublic class J-Test static long m-index; static int m-age; public static void mb-setData(long n) m-index =n; /方法 mb-setData结束public static void main (String args) mbsetData(98);System.out.println(“Index=”+mindex+”;Age=”+m):方法main结束JTest结束(A) 程序可以通过编译并正常运行,结果输出“Index=98;Age=0”(B) 程序可以通过编译并正常运行,结果输出“Index=0;Age=98”(C) 程序可以通过编译并正常运行,结果输出“Index=0;Age=0”(D) 程序可以通过编译并正常运行,结果输出“Index=98;Age=98”(E) 程序无法通过编译3.52 选择题已知“123456789123456789”在类型long的范围之内,但不在int的表示范围之内。关于下列程序代码,哪些选项的结论是正确的?Epublic class JTest static long mindex; static int mage; public static void mbsetData(long n) mindex=n;方法mbsetData结束public static void main(String args)mbsetData(123456789123456789);System.out.println( Index=mindex+;Age=age);方法main结束类JTest结束(A) 程序可以通过编译并正常运行,结果输出“Index=1234567989123456789;Age=0”(B) 程序可以通过编译并正常运行,结果输出“Index=0;Age=1234567891234656789”(C) 程序可以通过编译并以正常运行,结果输出“Index=0;Age=0”(D) 程序可以通过编译并正常运行,结果输出“Index=123456789123456789;Age=123456789123465789”(E) 程序无法通过编译3.53选择题*关于下面程序代码,那些选项的结论是正确的?Bcla

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论