047471604Java语言程序设计(一)(2)

2020-04-03 11:54

for(i=3;i*i<=n;i+=2) if(_________) break; if(_________) return true; return false; }

1101-27.方法int numberOfDigits(int n)的功能是计算十进制正整数n的位数。 int numberOfDigits(int n){ int c=0:

do{ n/=10;_________; }while(_________); return c; }

第3章 面向对象编程基础

选择 填空 简答 分析程序运行结果

识记:类的内存模型,final、abstract、super、this的用法,Applet程序结构和执行过程。 领会:抽象、对象、消息、类、继承、封装、接口、多态等面向对象的基本概念。

简单应用:访问权限的设置,Applet类的init()、strart()、stop()、destroy()、paint()、repaint()等方法。

综合应用:类的声明、成员变量(实例变量、类变量)和方法(实例方法、类方法)、构造方法、方法重载,对象的声明、创建和使用,接口的声明和使用。

3.1 面向对象的基本概念

13.在面向对象语言中,对象之间的交互通过______实现。相互发送消息

1110-13.在Java程序系统中,对象之间的交互通过相互发送 _____消息__ 实现

13.类是对一组相同对象的描述,类概括了同类对象的共有性质:_________。(P40)数据(属性)和方法(函数)

1404-3.以下供选择的概念中,属于面向对象语言重要概念和机制之一的是

A.函数调用 B.模块C.继承

D.结构化

1010-13.当联编推迟至运行时间实现时,该联编过程称为______。动态联编 3.在以下供选择的概念中,不属于面向对象语言概念的是 ( B ) ...A.消息 B.模块 C.继承 D.多态性

1101-22.请写出在面向对象系统中,类和对象的关系。

1110-3.在以下供选择的概念中,不属于面向对象语言概念的是 ( )? ... A.类 B.函数? C.动态联编

D.抽象?

1 3.在Java语言中,通过扩展原有的类,声明新类的机制被称为___继承_____。

3.2 Java的类和对象

22.请写出在类的方法的定义之前,加上修饰字public、private的区别。 Public修饰的方法为公用方法,任何类的方法都可以访问他 Private修饰的方法,本类内部可以访问

1010-3.Java语言中,只限子类或者同一包中的类的方法能访问的访问权限是( ) A.public B.private C.protected D.<无修饰> 1201-22.什么是方法重载,如何正确区分重载?

方法重载是指在一个类中定义多个有相同名字的方法。区分方法:根据这些方法或参数不同或者按顺序参数的类型不同来区分。

1101-13.在定义成员变量时,用关键字___static______修饰的是类变量。 3.参照以下Java代码,以下四个叙述中最确切的是( ) class A{ int x; static int y;

void fac(String s){Syatem. out. println("字符串:"+s);} }

A.x、y和s都是成员变量 B.x是实例变量、y是类变量、s是局部变量 C.x和y是实例变量、s是参数 D.x、y和s都是实例变量

1201-3.Java语言中,在类定义时用final关键字修饰,是指这个类( ) A.子类必须实现父类未实现的方法 B.没有具体实现代码 C.必须要有实例 D.不能被继承 1210-3. 不能被再继承的类是 ..A. final类 B. abstract类 C. public类 D. 用户自定义类

1404-13.如果类A继承和扩展类B,则子类A和超类B之间的关系是 __is a____。

1201-12.如果子类A隐藏了超类B的成员变量x,而类A的某个方法f()要引用类B的x,则引用类B的x的引用代码可以写成 super.x 。

1201-14.设u和v是类A的两个对象,则逻辑表达式“u==v”的意义是 引用相同的对象 。 0901-32.阅读下列程序,请写出该程序的输出结果。 class A { int x, y; A(int a, int b) { x= a; y= b; } }

public class sample {

public static void main(String args[]) {

标识:类的内存模型

A pl, p2;

p2 = new A(12, 15); p1 = p2; p2.x++;

System.out.println(\ } } p1.x=13

3.设类U声明,及对象u和v的定义如下: class U{ int x, int y;

U(int a, int b){x= a; y = b;} void copy(U a){ x = a.x; y = a.y;} }

U u = new U(1, 2), v = new U(2, 3);

在以下供选择的代码中,可能引起系统回收内存的是( ) A.u.x=v.y;u.y=v.x; B.u=v; C.u.copy(v);

D.v.copy(u);

理解引用和对象实体很重要 1010-32.阅读下列程序,请写出该程序的输出结果。考点:实例变量和类变量 public class A {

int m = 5; static int n = 3; public static void main(String[] args) {

A obj 1 = new A(); A obj2 = new A();

objl.m *= 2; objl.n *= 4; obj2.m += 1; obj2.n += 6; System.out.println(\ System.out.println(\ System.out.println(\ System.out.println(\

}

}

22.如果类Student是类Person的子类,类Undergraduate是类Student的子类,请指出以下代码行中哪些是不合法的。继承――父子类间的赋值兼容 Person p1=new Student();

Person p2=new Undergraduate(); Student s1=new Person();

Student s2=new Undergraduate(); Undergraduate ug1=new Person(); Undergraduate ug2=new Student();

Object ob=new Student();

参考答案:(P57)Student s1=new Person(); Undergraduate ug1=new Person(); Undergraduate ug2=new Student();

[解析]本题考核知识点是类之间的is-a关系。在两个相关的类之间,可能会有is-a和

has-a关系。若类A是继承扩展类B,则子类A和超类B之间是is-a关系,即类A是一个类B。这种情况下,A类对象一定可以是B类类型,因为B类的所有成员A类也有。也就是子类对象可以是超类类型。语句B b=new A()是正确的,A a=new B()是错误的。 1001-32.阅读下列程序,请写出该程序的输出结果。 class Parent{

private void method1() { System.out.println(\′s method 1()\

public void method2() { System.out.println(\′s method 2()\ }

class Child extends Parent {

public void method1(){ System.out.println(\′s method 1 ()\ public static void main(String args[]){ Parent p = new Child();p.method2();} }

Parent′s method 2() Parent′s method 1()

此处应注意Parent类的method1()是私有方法,不能被继承,若为public 则是覆盖则结果为 Parent′s method 2() Child′s method 1 () 32.阅读下列程序,请写出该程序的输出结果。考点:多重继承子类对象的构造

class Tree {

private String name;public boolean flower; public int birthYear;

Tree(String n, boolean f, int y){ name = n; flower = f; birthYear = y; } public void setName(String n){name = n;} public String getName(){return name; } public void printTree(String str){

System.out.println(str); System.out.println(\); System.out.println(\); System.out.println(\); } }

class PineTree extends Tree {

public boolean coniferous = true;

PineTree(String n, boolean f, int y, boolean c){super(n, f, y);coniferous = c; }

public void printTree(String str){

super, printTree(str);

System.out.println(\); }

}

class Test32 {

public static void main(String []args){

Tree fOb = new Tree(\);

PineTree sOb = new PineTree(\); fOb.printTree(\); sOb.printTree(\); } fOb: } Name:May Flower Birth Year:1980 Flower:true(2分) sOb: Name:Pine Birth Year:2000 Flower:false

Coniferous:true(2分)

3.以下关于抽象类及抽象方法的说法中,不正确的是 ...A.抽象方法只能出现在抽象类中 C.有抽象方法的类一定是抽象类

B.抽象类必须有抽象方法 D.抽象方法没有实现的代码

13.在类声明之前用_________修饰,声明类是不能被再继承的类,即它不能再有子类。 Final

3.Java语言中,在类定义时用final关键字修饰,是指这个类( ) A.不能被继承 B.在子类的方法中不能被调用 C.能被别的程序自由调用 D.不能被子类的方法覆盖

1001-13.如果类A某个成员变量的类型是类B,则类A和类B之间是__________关系。(P57)Has-a

3.3 接口

1001-22.请写出接口定义的一般形式。(P59) 1404-22.请写出接口体中可能包含的内容。

1101-3.以下关于接口的叙述中,正确的是( ) A.所有的接口都是公共接口,可被所有的类和接口使用

B.一个类通过使用关键字interface声明自己使用一个或多个接口


047471604Java语言程序设计(一)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:越南皇帝世系表

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: