




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
信管13级Java语言程序设计A期中测试参考解答一选择(共10题,每题1分或2分,共11分)1JRE可以识别( D )文件。 A).java B).jre C).exe D).class2如果将JDK安装到D:JavaJDK文件夹,则应设置Path路径为( C )。A)D:Java B)D:JavaJDK C)D:JavaJDKbin D)D:JavaJRE3编辑好源程序MyApp.java后,在命令提示符下进行编译,正确的命令是( D )。A)java MyApp B)java MyApp.java C)javac MyApp D)javac MyApp.java4以上源程序通过编译后,在命令提示符下解释执行,正确的命令是( A )。A)java MyApp B)java MyApp.java C)javac MyApp D)javac MyApp.java5每个对象都有类的( C )的副本。 A)对象 B)引用 C)实例变量 D)方法6main()方法的形参可以写作( B C )。A)String args B)String args C)String args D)String args7在类的内部声明,但又处于该类所有方法之外的变量是( A )。A)实例变量 B)局部变量 C)类变量 D)引用变量8在方法内部声明的变量是( B )。 A)实例变量 B)局部变量 C)类变量 D)引用变量9当出现( B )时,子类中定义的新方法将取代父类中的相应方法。 A)继承 B)覆盖 C)重载 D)多态10类SavingsAccount是类BankAccount的子类,如果类SavingsAccount的构造函数中有super( )语句,则该语句将调用( D )。 A)类SavingsAccount的super( )方法 B)类BankAccount的super( )方法 C)类SavingsAccount的构造函数 D)类BankAccount的构造函数二简答(共4题,第1题1分,第2题1分,第3题2分,第4题5分,共9分)1将引用变量作为实参传递给方法的形参时,传递的是引用?还是对象?解:引用2对于一个未知数组长度的整型数组numbers,描述数组最后一个元素的表达式是什么?解:numbersnumbers.length - 13(1)何种情况下,你不得不将类声明为抽象类?(2)抽象类是否可实例化?解:(1)类中至少有一个抽象方法 (2)不能4类A定义有方法m1( ),其子类B定义有方法m2( )。(1)A类对象可访问这2个方法中的哪些方法?(2)B类对象可访问这2个方法中的哪些方法?(3)对于实际指向B类对象的类A引用变量,可访问这2个方法中的哪些方法?(4)若这2个方法都声明为private,B类对象可访问这2个方法中的哪些方法?解:(1)m1( ) (2)m1( )与m2( ) (3)若无强制类型转换,只有方法m1( ) (4)m2( )三分析(共8题,第1题7分,第2题6分,第3题10分,第4题2分,第5题2分,第6题3分,第7题7分,第8题12分,共49分)1以下Java程序未通过编译,请在错误处进行修改,或将改好的程序写在空白处。解答:在错误处进行修改1 public class LotsOfErrors 2 public static void main(String args) 3 System.out.println(I Rule);4 message();5 67 public static void message() 8 System.out.println(The World); 9 2以下程序的执行结果是什么?最后变量times为什么是这个值?public class Test public static void main(String args) int times = 3; System.out.println(Before the call, variable times is + times); nPrintln(times); System.out.println(After the call, variable times is + times); public static void nPrintln(int n) while(n 0) System.out.println(n = + n); n-; 解:Before the call, variable times is 3 n = 3 n = 2 n = 1 After the call, variable times is 3 Java的参数传递机制是传值,而不是传址。方法main( )中调用方法nPrint( ),实参times的值3传递给形参n,参数传递后,实参times的值不变。换一个角度看:times是main( )方法中的局部变量,因此作用域仅限于main( )方法,生命周期从调用main( )方法开始,执行main( )方法完毕结束。3某类有两个同名方法add( ),这两个方法的返回类型相同,那么这两个方法的形参能否相同?为什么?这两个方法的形参能否不同?为什么?若两个同名方法add( )定义如下: double add(int num1, double num2) return num1 + num2;double add(double num1, int num2) return num1 + num2 + 1;以下A)B)C)D)四选项中,分别用不同的实参调用add( )方法,其中哪些能通过编译,运行结果是什么?哪些不能通过编译?A)add(3, 3.14) B)add(3.14, 3) C)add(3, 3) D)add(3.14, 3.14)解:这两个方法的形参不能相同,因为同一类中不可能存在方法的覆盖。 这两个方法的形参可以不同,因为方法可以重载。A)和B)能通过编译,运行结果分别是6.14和7.14。 C)和D)不能通过编译。4如果给定类X: class X private int count; 那么类Y正确吗?为什么?class Y public static void main(String args) X ob = new X( ); ob.count = 100; 解:不正确。类X的实例变量count是private的, 无法在类X之外访问。5以下类X正确吗?为什么?class X int meth(int a, int b) . String meth(int a, int b) . 解:不正确。 重载的方法必须具有不同的形参列表。6以下程序的运行结果是什么?若将倒数第4行public void p(int i) 改成 public void p(double i) 后,程序的运行结果又是什么?为什么?public class Test public static void main(String args) A a = new A();a.p(10); class B public void p(int i) class A extends Bpublic void p(int i) System.out.println(i); 解:10若将倒数第4行public void p(int i) 改成 public void p(double i) 后,方法由覆盖变成重载,程序运行结果,将什么都不显示。7.已知类的层次结构为:class Asset . class BankAccount extends Asset . class SavingsAccount extends BankAccount . (1)以下哪些语句是合法的?语句1: Asset asset = new BankAccount( );语句2: Asset asset = new SavingsAccount( );语句3: BankAccount account = new Asset( );语句4: BankAccount account = new SavingsAccount( );语句5: SavingsAccount savingsAccount = new Asset( );语句6: SavingsAccount savingsAccount = new BankAccount( );解:语句1、语句2、语句4合法。(2)创建一个SavingsAccount对象时,这些类的构造函数的调用顺序依次是什么?为什么?解:依次调用类Asset、BankAccount、SavingsAccount的构造函数。构造函数总是按派生的顺序被调用。8以下程序的运行结果是什么?class Flute extends Blue public void method2( ) System.out.println(flute 2); public String toString( ) return flute; class Blue extends Moo public void method1( ) System.out.println(blue 1);class Shoe extends Flute public void method1( ) System.out.println(shoe 1); class Moo public void method1( ) System.out.println(moo 1); public void method2( ) System.out.println(moo 2); public String toString( ) return moo;public class PolymorphismTest public static void main(String args) Moo elements = new Shoe( ), new Flute( ), new Moo( ), new Blue( ); for(int i=0; ielements.length; i+) System.out.println(elementsi); elementsi.method1( ); elementsi.method2( ); System.out.println( ); 解:flute Shoe 1 flute 2 flute blue 1 flute 2moo moo 1 moo 2 moo blue 1 moo 2四设计(共4题,第1题7分,第2题3分,第3题5分,第4题16分,共31分)1假设我们已经在主类的main( )方法中声明了一个整型数组javaScores,用于存储某班同学的Java考试成绩。现在,请你在主类中编写一个辅助方法enterMarks( ),该方法提示用户输入考试成绩,将成绩存储在一个数组中,并返回该数组。解:static int enterMarks( ) Scanner keyboard = new Scanner(System.in); int marks = new int32; for(int i = 0; i = 2000 & hireYearIn = 2016) hireYear = hireYearIn;public int getHireYear( ) return hireYear;4类BankAccount定义了账号accountNumber、余额bala
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论