知识扩充--几个练习题
(2011-10-21 10:34:39)
标签:
杂谈 |
分类: 第四章类、对象和接口 |
上机练习
²
1) 方法调用匹配测试
class
分析以上程序运行结果,删除test(String)方法后结果如何?加入一个test(int)方法执行结果又如何?最后,总结方法调用的匹配原则。
2)定义一个接口,其中包含一个display()方法用于显示信息;通知类、汽车类、广告类均要实现该接口显示“通知内容”,“汽车油量”,“广告消息”。试编程实现并测试该模型。创建的对象用接口引用,并执行接口的display()方法。
3) 将以下程序补充完整
public class Java_3{
1) 分别下面程序中x的访问权限进行修改,测试访问许可。修改包括:private,protected,public以及无访问控制符4种情形。
程序1:同一类情形(文件accessTest.java)
package test
程序2:同一包情形(文件samePackage.java)
package test
static int
x=8;
}
程序3:不同包的其他类情形
package test;
static int
x=8;
}
程序4:不同包的子类情形
package test;
static int
x=8;
}
思考题
1)以下程序调试结果为:
class Base{
(2) 以下程序调试结果为:
}
class Demo extends Test {
}
A.5
3)
public class Point()
{
A. Point.x
(4)考虑如下类:
1. class Test(int i) {
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14. }
以下哪条为真?
A.行 5 不能通过编译,方法不能被覆盖.
B.行 12 不能通过编译, 因为没有一个test()方法含字符参数.
C.代码可以编译但在12行将出现异常.
D.代码可以编译且产生如下输出: I am an int.
E.代码可以编译且产生如下输出: I am a String.
(5) 类Test1定义如下:
1.public
2.
3.
4.}
将以下哪种方法插入行3是不合法的。(
A.public
B.public
C.public
D.private float
6)考虑如下代码:
class Tree{}
class Pine extends Tree{}
class Oak extends Tree{}
public class Forest {
public static void main( String[] args ) {
System.out.println( "Oops" );
}
则输出结果中有哪些?
A.Pine
7)以下程序的编译和运行结果为?
abstract class Base{
}
public class Abs extends Base{
}
A.输出结果为 My Func
B.编译指示 Base 类中无抽象方法
C.编译通过,但运行时指示Base 类中无抽象方法
D.编译指示Base 类中的myfunc方法无方法体,没谁会喜欢该方法。
8) 以下程序的调试结果为?
class Base{
public final void amethod(){
}
public class Fin extends Base{
}
A.编译指示带有final 方法的类自己必须定义为final
B.编译指示不能继承含有final 方法的类
C.运行错误,原因是Base类没有定义为final类
D.运行输出 amethod
9) 在同一目录编译和运行以下两文件结果如何?
//文件 P1.java
package MyPackage;
class P1{
}
//文件 P2.java
public class P2 extends P1{
}
A.两个均通过编译,P2运行时输出 What a fancy method
B.没一个通过编译
C.两个均通过编译,但P2运行时出错
D.P1 通过编译,但P2出现编译错误
10)以下程序的调试结果为?
public class Outer{
public String name = "Outer";
public static void main(String argv[]){
}
private class Inner{
}
A.输出结果 Outer
B.输出结果 Inner
C.编译错误,因Inner类定义为私有访问
D.在创建Inner类实例的行出现编译错误
11) 设有如下代码:
class Base{}
public class MyCast extends Base{
}
则在 //Here处插入哪个代码将不出现编译和运行错误。
A.b=m;
12)
interface IFace{}
class CFace implements IFace{}
class Base{}
public class ObRef extends Base{
//Here
}
则在 //Here处插入哪个代码将不出现编译和运行错误。
A.obj1=obj2;
13) 设有类定义如下:
class Base{
public Base(int i){}
}
public class MyOver extends Base{
public static void main(String arg[]){
}
MyOver(int i){
}
MyOver(String s, int i){
}
}
以下哪条语句可以安排在//Here处 ?
A.MyOver m = new MyOver();
B.super();
C.this("Hello",10);
D.Base b = new Base(10);
14) 设有类定义如下:
class InOut{
String s= new String("Between");
public void amethod(final int iArgs){
}
以下哪些语句可以安排在//Here处 ?
A. System.out.println(s);
B.System.out.println(iOther);
C. System.out.println(iam);
D.