类的封装与继承习题(题)

合集下载

UML课后习题答案

UML课后习题答案

UML课后习题答案UML习题答案第⼀章⾯向对象设计与UML1.填空题(1)基本构造块UML规则公共机制(2)名字属性操作(3)封装继承多态(4)继承(5)瀑布模型喷泉模型基于组件的开发模型XP开发模型2. 选择题(1)C(2)A B C D(3)A B C D(4)A B C(5)A3.简答题(1)类是具有相同或相似结构、操作和约束规则的对象组成的集合,⽽对象是某⼀类的具体化实例,每⼀个类都是具有某些共同特征的对象的抽象。

类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,⽽对⼀类对象的抽象就是类.类描述了⼀组有相同特性和相同⾏为的对象。

(2)1.UML是⼀种语⾔。

2. UML是⽤来建模的。

3.UML是统⼀的标准。

(3)建模能够帮助我们按照实际情况或按我们需要的形式对系统进⾏可视化;提供⼀种详细说明系统的结构或⾏为的⽅法;给出⼀个指导系统构造的模板;对我们所做出的决策进⾏⽂档化。

在建模时应遵循以下原则:选择要创建什么模型对如何动⼿解决问题和如何形成解决⽅案有着意义深远的影响;每⼀种模型可以在不同的精度级别上表⽰;最好的模型是与现实相联系的;单个模型不充分;对每个重要的系统最好⽤⼀组⼏乎独⽴的模型去处理。

(4)UML和⾯向对象软件开发之间有紧密的关系,可以说是⾯向对象软件开发促使了UML 的产⽣。

但是由于在UML标准化的过程中,吸收了业务建模、⼯作流建模和数据库建模等领域的标准规范,形成了适应性很强的标准。

(5)在软件设计过程中,使⽤UML建模是为了能够更好地理解正在开发的系统。

通过UML 建模,可以达到以下⽬的:有助于按照实际情况或按照所需要的样式对系统进⾏可视化;能够规约系统的结构或⾏为;给出了指导构造系统的模板;对做出的决策进⾏⽂档化。

第⼆章UML通⽤知识点综述1.填空题(1)依赖泛化关联实现(2)视图图模型元素(3)实现视图部署视图(4)构造型标记值约束(5)规格说明修饰通⽤划分2. 选择题(2)C(3)A(4)A B(5)D3.简答题(1)在UML中,定义了四种基本的⾯向对象的事物,分别是结构事物、⾏为事物、分组事物和注释事物等。

大学C++复习题

大学C++复习题

C++复习题一、简答题1•在C++中,内联函数中不能使用什么语句?答:不允许使用循环语句和分支语句2 •在C++中,封装可以由那几个关键字提供控制方式?分别作用是什么?答:在类定义体里,使用了private、protected、public三个关键字是用来说明数据成员和函数成员的访问权限。

public说明公有成员,该类成员都可以通过对象被访问的。

private说明私有成员,该类成员只能被自己的成员函数或友元访问;protected说明保护型的成员,可以被自己的成员函数或友元访问,也可以被派生类的函数成员访问;3•由于二义性原因,一个类如何防止从一个类中重复继承?答:①通过使用作用运算符“::”明确指岀访问的是哪个基类中的成员;②在类中定义同名成员:③虚基类(virtual继承方式基类名)4 .在C++中,如果在多条继承路径有一个公共的基类,如果想使这个公共的基类只产生一个拷贝,则如何处理这个基类?用什么关键字?答:将这个公共基类说明为虚基类,用virtual关键字5•简单成员函数是指声明中不含有什么关键字的函数? (关注存储类型)答:简单成员函数是指存储类型为auto型。

static ,extern,register6 •静态成员的特点?答:静态成员的特点是:不管这个类创建多少个对象,其静态成员在内存中只保留一份副本,这个副本为该类的所有对象所共享。

7 •当访问私有静态数据成员时,可通过什么来访问?答:在类外,私有静态数据成员不能直接访问,必须通过公有的成员函数访问。

8.有关继承,静态成员是否可以被继承?可以。

友兀是否可以被继承?不可以构造函数是否可以被继承?不可以9 • c++不允许重载什么运算符?答:成员访问运算符•;作用域运算符::;条件运算符?:;成员指针运算符* ;长度运算符sizeof () 10 •那些运算符只能用类运算符来重载?答:=()[] *这四个只能用类重载11. C++提供格式宽度控制方式有哪几种?关键字是?答 1.int width (int val) int width( ) int ios::width(int n) 2.setw (int n) ????12 •十进制数0.1的二进制表示是什么?答:(0.1)10 = (0.000110011...) 2,它是无限循环小数。

C++试题(附答案)

C++试题(附答案)

C++试题(附答案)一、选择题1.在下列有关析构函数的描述中,错误的是(B)A.一个类中只能定义一个析构函数B.析构函数名与类名完全相同C.析构函数不能指定返回类型 D.析构函数不能带有参数2.面向对象的软件工程不包括以下哪个部分(D)A.面向对象程序设计B.面向对象编程C.面向对象维护D.面向对象封装3.假设定义了函数模版:TemplateT max(Tx,Ty) {return (x>y)? x:y;}并定义了:int i;char c;那么下列错误的调用该模版的事(C)A.max (i,i) B.max(c,c) C.max(int(c),i) D.max(c,i)4.模版的主要作用是为了(C)A.提高代码的运行效率B.实现多态性C.提高代码的重要性D.加强类的封装性5.#include#includeusing namespace std;{double x=111.222222222222222;cout<<setiosflags(ios::scientific)<<setprecision(5)<<x<<en dl;< p="">return 0;}以上程序的运行结果是(C)A.111.22 B.111.22222 C.1.11222e+002 D.1.11222E+002 6.下列特性中不是面向对象程序设计语言所特有的是(D)。

(A)数据封装(B)继承(C)多态性(D)模板7.类成员的访问权限中,(C)只能被本类的成员函数和其友元函数访问。

(A)share (B)public (C)private (D)protected8.派生类可以访问其基类的(D)(A)公有成员(B)保护成员(C)私有派生(D)共有和保护成员9.c++中声明常量的关键字是(A)。

(A)const (B)extern (C)public(D)enum10.应在下列程序划线处填入的正确语句是(C)#include{public:void fun (){cout<<”Base::fun”<<endl;}< p="">};Class Derived:public Base{void fun (){__________________________ //显示调用基类的函数fun()Cout<<”Derived::fun”<<endl;< p="">}};(A)fun(); (B)Base.fun(); (C)Base::fun();(D)Base->fun();11.下面有关类的叙述中,不正确的是(C)。

(完整版)类的概念及基本性质练习题

(完整版)类的概念及基本性质练习题

(完整版)类的概念及基本性质练习题
1. 类的概念
类是面向对象编程中最基本的概念之一。

它是一种具有相同属性和行为的对象的抽象集合。

类定义了对象的特征和行为,是创建对象的模板。

2. 类的基本性质
类具有以下基本性质:
2.1 封装性
封装性指的是类可以将数据和对数据的操作封装起来,使其成为一个独立的实体。

类通过使用访问控制修饰符来控制对其成员的访问权限。

封装性可以提高代码的可维护性和复用性。

2.2 继承性
继承性指的是在一个类的基础上创建新的类,新类将继承原类的属性和行为。

继承性可以实现代码的重用,减少重复编写相似代码的工作量。

2.3 多态性
多态性指的是一个类的实例可以被看作是其父类或接口的实例。

多态性可以实现方法的重写和重载,提高代码的灵活性和扩展性。

2.4 抽象性
抽象性指的是类的设计应该关注于对象的本质特征和行为,而
忽略细节。

通过使用抽象类和接口,可以定义一组共同的属性和方法,使得类的设计更加灵活和可扩展。

3. 练题
3.1 问题一
请列举三个你认为具有相同属性和行为的对象,并说明为什么
它们是相同的。

3.2 问题二
在面向对象编程中,如何实现类的封装性?请给出一个具体的
例子。

3.3 问题三
什么是继承性?使用继承可以解决什么问题?
3.4 问题四
多态性如何提高代码的灵活性和扩展性?举一个实际的例子说明。

3.5 问题五
抽象类和接口有什么区别?在面向对象设计中,如何使用抽象类和接口?。

java中继承关系笔试题

java中继承关系笔试题

1.在Java中,子类可以继承父类的哪些特性?
答:子类可以继承父类的所有非私有属性和方法,包括公有、受保护和默认访问级别。

此外,子类还可以继承父类的构造函数和初始化块。

2.如果一个子类要继承父类的方法,应该如何实现?
答:子类要继承父类的方法,可以使用与父类方法同名、相同参数列表和相同返回类型的方法。

如果子类想要重写父类的方法,可以使用@Override注解来标记。

3.什么是多态性?在Java中如何实现多态性?
答:多态性是指一个接口可以有多种实现方式,或者一个对象可以有多种形态。

在Java中,多态性可以通过继承和接口实现。

子类可以继承父类的属性和方法,也可以实现接口的规范,从而让一个对象在不同上下文中表现出不同的行为。

4.如果一个子类要继承父类的构造函数,应该如何实现?
答:如果一个子类要继承父类的构造函数,可以在子类的构造函数中通过super关键字调用父类的构造函数。

如果子类没有显式地定义构造函数,则会自动调用父类的无参构造函数。

5.什么是抽象类?在Java中如何定义抽象类?
答:抽象类是一个不能被实例化的类,它只能作为其他类的基类。

抽象类可以包含抽象方法和非抽象方法。

在Java中,使用abstract关键字来定义抽象类,抽象类不能被实例化,但可以被继承。

如果一个子类继承了一个抽象类,那么它必须实现该抽象类中的所有抽象方法。

(完整版)JAVA试题及答案(50道选择题)

(完整版)JAVA试题及答案(50道选择题)

选择题1、JAVA所定义的版本中不包括:( D )A、JAVA2 EEB、JAVA2 CardC、JAVA2 MED、J AVA2 HEE、J AVA2 SE2、下列说法正确的是( A )A、JAVA程序的main方法必须写在类里面B、JAVA程序中可以有多个main方法C、JAVA程序中类名必须与文件名一样D、J AVA程序的main方法中如果只有一条语句,可以不用{}(大括号)括起来3、变量命名规范说法正确的是( B )A、变量由字母、下划线、数字、$符号随意组成;B、变量不能以数字作为开头;C、A和a在java中是同一个变量;D、不同类型的变量,可以起相同的名字;4、下列javaDoc注释正确的是( C )A、/*我爱北京天安门*/B、//我爱北京天安门*/C、/**我爱北京天安门*/D、/*我爱北京天安门**/5、为一个boolean类型变量赋值时,可以使用( B )方式A、boolean = 1;B、boolean a = (9 >= 10);C、boolean a="真";D、b oolean a = = false;6、以下( C )不是合法的标识符A、STRINGB、x3x;C、voidD、d e$f7、表达式(11+3*8)/4%3的值是( D )A、31B、0C、1D、28、( A )表达式不可以作为循环条件A、i++;B、i>5;C、bEqual = str.equals("q");D、c ount = = i;9、运算符优先级别排序正确的是(A )A、由高向低分别是:()、!、算术运算符、关系运算符、逻辑运算符、赋值运算符;B、由高向低分别是:()、关系运算符、算术运算符、赋值运算符、!、逻辑运算符;C、由高向低分别是:()、算术运算符、逻辑运算符、关系运算符、!、赋值运算符;D、由高向低分别是:()、!、关系运算符、赋值运算符、算术运算符、逻辑运算符;10、以下程序的运行结果是:( B )public class Increment{public static void main(String args[]) {int a;a = 6;System.out.print(a);System.out.print(a++);System.out.print(a);}}A.666B.667C.677D.67611、下列值不为true的表达式有( C )。

C++第2-3章 类和对象、类的继承与派生复习题

C++第2-3章  类和对象、类的继承与派生复习题

第2章类和对象一、选择题1、()不是构造函数的特征。

A、构造函数的函数名与类名相同;B、构造函数可以重载;C、构造函数可以设置缺省参数;D、构造函数必须指定类型说明。

2、下列关于构造函数的描述中,()是正确的。

A、构造函数可以设置缺省参数;B、构造函数可以被继承;C、构造函数可以对静态数据成员进行初始化;D、构造函数可以说明为虚函数;3、()是析构函数的特征。

A、析构函数可以有一个或多个参数;B、析构函数名与类名不同;C、析构函数的定义只能在类体内;D、一个类中只能定义一个析构函数;4、定义析构函数时,应该注意()。

A、其函数名与类名完全相同;B、函数返回类型是void类型;C、无形参,也不可重载;D、函数体中必须有delete语句;5、下列静态数据成员的特性中,()是错误的。

A、说明静态数据成员时前边要加修饰符static;B、静态数据成员要在类体外进行初始化;C、静态数据成员不是所有对象所共用的;D、引用静态数据成员时,要在其名称前加<类名>和作用域运算符;6、友元的作用是()。

A、提高程序的运用效率;B、加强类的封装性;C、实现数据的隐藏性;D、增加成员函数的种类;7、关于成员函数特征的下列描述中,()是错误的。

A、成员函数一定是内联函数;B、成员函数可以重载;C、成员函数可以设置缺省参数值;D、成员函数可以是静态的;8、已知:print()函数是一个类的常成员函数,它无返回值,下列表示中,()是正确的;A、void print() const;B、const void print();C、void const print();D、void print(const);9、在()情况下适宜采用inline定义内联函数。

A、函数体含有循环语句;B、函数体含有递归语句;C、函数代码小,频繁调用;D、函数代码多,不常调用;10、假定AB为一个类,则执行“AB a(4) , b[3] , * p[2] ;”语句时,自动调用该类构造函数的次数为( )。

实用教程习题集第4章

实用教程习题集第4章

实⽤教程习题集第4章第4章类的封装性、继承性、多态性及接⼝⼀、判断题1. 如果类A和类B在同⼀个包中,则除了私有成员外,类A可以访问类B中所有的成员。

()2. 接⼝中的成员变量全部为常量,⽅法为抽象⽅法。

()3. 抽象类可以有构造⽅法,所以能直接⽤来⽣成实例。

()4. Java的类不允许嵌套定义。

()5. 包含抽象⽅法的类⼀定是抽象类,但有abstract修饰的类不⼀定包含抽象⽅法()6. 泛型只能⽤于类的定义中,不能⽤于接⼝的定义中。

()7. ⽤final修饰的类不能被继承。

()8. 接⼝⽆构造器,不能有实例,也不能定义常量。

()9. ⼀个具体类实现接⼝时,必须要实现接⼝中的所有⽅法。

()10. 类具有封装性,但可以通过类的公共接⼝访问类中的数据。

()11. ⼦类能继承或覆盖(重写)⽗类的⽅法,但不能重载⽗类的⽅法。

()12. ⽤final修饰的⽅法不能被⼦类覆盖(重写)。

()13. abstract是抽象修饰符,可以⽤来修饰类、属性和⽅法。

()14. ⽗类的静态⽅法不能被⼦类覆盖为⾮静态的⽅法,反之亦然。

()15. ⼦类实例化时,⼦类的构造⽅法⼀定会先调⽤⽗类的构造⽅法。

()16. ⽤final修饰的⽅法不能被覆盖(重写),也不能有重载的⽅法。

()17. 接⼝也可以继承接⼝,且可以继承多个接⼝,体现了多重继承性。

()18. 假设类B继承类A,类C继承类B,则在类C中可⽤super访问类A的⽅法。

()19. 类和接⼝都可以继承另外⼀个类。

()20. 抽象类中不能包含final修饰的⽅法。

()⼆、选择题1. Java实现动态多态性是通过()实现的。

A. 重载B. 覆盖C. 接⼝D. 抽象类2. 下列哪⼀种描述是正确的?()A. 动态多态性只针对静态成员⽅法B. 动态多态性只针对⾮静态成员⽅法C. 动态多态性只针对静态成员域A. 重载⽅法的参数形式(类型、参数个数或参数顺序)必须不同B. 重载⽅法的参数名称必须不同C. 重载⽅法的返回值类型必须不同D. 重载⽅法的修饰词必须不同4. 接⼝的所有成员⽅法都具有()修饰的特性。

2Java第二单元练习题-面向对象程序设计基础Word版

2Java第二单元练习题-面向对象程序设计基础Word版

2面向对象程序设计基础2.1单项选择题1.下面关于类的继承性的描述中,错误的是()。

A.继承是在已有的基础上生成新类的一种方法B.Java语言要求一个子类只有一个父类C.父类中成员的访问权限在子类中将被改变D.子类继承父类的所有成员,但不包括私有的成员方法2.在成员方法的访问控制修饰符中,规定访问权限包含该类自身,同包的其他类和其他包的该类子类的修饰符是()。

A.默认B.protected C.private D.public3.在类的修饰符中,规定只能被同一包类所使用的修饰符是()。

A.public B.默认C.final D.abstract4.下列关于子类继承父类的成员描述中,错误的是()。

A.当子类中出现成员方法头与父类方法头相同的方法时,子类成员方法覆盖父类中的成员方法。

B.方法重载是编译时处理的,而方法覆盖是在运行时处理的。

C.子类中继承父类中的所有成员都可以访问。

D.子类中定义有与父类同名变量时,在子类继承父类的操作中,使用继承父类的变量;子类执行自己的操作中,使用自己定义的变量。

5.下列关于继承性的描述中,错误的是()。

A.一个类可以同时生成多个子类B.子类继承了父类中除私有的成员以外的其他成员C.Java支持单重继承和多重继承D.Java通过接口可使子类使用多个父类的成员6.下列关于抽象类的描述中,错误的是()。

A.抽象类是用修饰符abstract说明的 B.抽象类是不可以定义对象的C.抽象类是不可以有构造方法的D.抽象类通常要有它的子类7.下列关于构造方法的叙述中,错误的是()。

A.构造方法名与类名必须相同B.构造方法没有返回值,且不用void声明C.构造方法只能通过new自动调用D.构造方法不可以重载,但可以继承8.下面叙述中,错误的是()。

A.子类继承父类B.子类能替代父类C.父类包含子类D.父类不能替代子类9.下面关于接口的描述中,错误的是()。

A.一个类只允许继承一个接口B.定义接口使用的关键字是interfaceC.在继承接口的类中通常要给出接口中定义的抽象方法的具体实现D.接口实际上是由常量和抽象方法构成的特殊类10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?()A.ArrayList myList=new Object(); B.ArrayList myList=new List();C.List myList=new ArrayList(); D.List myList=new List();11.下列哪一个方法与方法public void add(int a){}为不合理的重载方法?()A.public void add(char a) B.public int add(int a)C.public void add(int a,int b) D.public void add(float a)12.MAX_LENGTH是int型public成员变量,变量值保持为常量100,其定义是()。

JAVA试卷(附答案)

JAVA试卷(附答案)
Thread t = new Thread(new X()); t.start(); } } A 第一行会产生编译错误 B 第六行会产生编译错误 C 第六行会产生运行错误 D 程序会运行和启动 二、 多项选择(15 题,每题 1 分,共 15 分,选错漏选 0 分) 1.下面哪些代码段是正确的 Java 源程序? A. package testpackage; public class Test{//do something...} B. import java.io.*; package testpackage; public class Test{// do something...} C. import java.io.*; class Person{// do something...} public class Test{// do something...} D. import java.io.*; import java.awt.*; public class Test{// do something...} 2. public class parent { int change() {} } class Child extends Parent { } 哪些方法可加入类 Child 中? A public int change(){} B int chang(int i){} C private int change(){} D abstract int chang(){} 3. String s = "hello"; String t = "hello"; char c[] = {'h','e','l','l','o'} ; 下列哪些表达式返回 true? A s.equals(t); B t.equals(c); C s==t; D t.equals(new String("hello")); 4.给出下面代码段: 1) switch(m) 2) { case 0: System.out.println("case 0"); 3) case 1: System.out.println("case 1"); break; 4) case 2:

封装练习题——精选推荐

封装练习题——精选推荐

封装练习题封装练习题⼀⼀、练习题⽬编写程序描述狗⼆、问题描述使⽤⾯向对象的思想,编写⾃定义描述狗的信息。

设定属性包括:品种,年龄,⼼情,名字;⽅法包括:叫,跑三、要求:1、设置属性的私有访问权限,通过公有的get,set⽅法实现对属性的访问2、限定⼼情只能有“⼼情好”和“⼼情不好”两种情况,如果⽆效输⼊进⾏提⽰,默认设置“⼼情好”。

3、设置构造函数实现对属性赋值4、叫和跑的⽅法,需要根据⼼情好坏,描述不同的⾏为⽅式。

5、编写测试类,测试狗类的对象及相关⽅法(测试数据信息⾃定义)1package Day09Work;3public class Day09Work01Dog {4public static void main(String[] args) {5 Goddess hapdog = new Goddess("贵宾⽝",5,"你猜我⼼情呀","甜⼼");//设置构造函数实现对属性赋值6 hapdog.shout(); //调⽤shout⽅法7 hapdog.run(); //调⽤run⽅法8 System.out.println("=============================================");9 Goddess saddog = new Goddess("德国牧⽺⽝",3,"⼼情不好","太⼦");10 saddog.shout();11 saddog.run();16 }17 }18package Day09Work;19public class Goddess {20private String kind; //1.设置属性的私有访问权限21private int age;22private String mood = "⼼情好"; // 2.2 默认设置“⼼情好”23private String name;2425public Goddess(String k,int a,String m,String n){ // 3、设置构造函数实现对属性赋值26this.setKind(k);27this.setAge(a);28this.setMood(m);29this.setName(n);30 }3132//1.1 通过公有的get,set⽅法实现对属性的访问33public String getKind() {34return kind;35 }36public void setKind(String k) {37this.kind =k;38 }3940public int getAge() {41return age;42 }43public void setAge(int a) {44this.age=a;45 }4647public String getName() {48return name;49 }50public void setName(String n) { = n;52 }5354public String getMood() {55return mood;56 }57public void setMood(String m) {58if(m.equals("⼼情好")||m.equals("⼼情不好")) { // 2.1 限定⼼情只能有“⼼情好”和“⼼情不好”两种情况59this.mood = m;60 System.out.println("输⼊信息正确,这只狗狗今天"+this.mood); //显⽰输⼊的⼼情61 }else {62 System.out.println("输⼊信息错误,这只狗狗今天"+this.mood); // 2.2 如果⽆效输⼊进⾏提⽰,默认设置“⼼情好”。

C++试题附答案(1)

C++试题附答案(1)

C++ 试题一、选择题:1. 关于类和对象不正确的说法是( C )A) 类是一种类型,它封装了数据和操作B) 对象是类的实例C) 一个类的对象只有一个D) 一个对象必属于某个类2. 在类定义的外部,可以被访问的成员有( C )A) 所有类成员 B) private或protected的类成员C) public的类成员 D) public或private的类成员3. 关于this指针的说法错误的是( A )A) this指针必须显示说明 B) 当创建一个对象后,this指针就指向该对象C) 成员函数拥有this指针 D) 静态成员函数不拥有this指针4. 声明一个类的对象时,系统自动调用( B )函数,撤消对象时,系统自动调用( C )函数A) 成员函数 B) 构造函数 C) 析构函数 D) 普通函数5. 下面对构造函数的不正确描述是( B )A) 系统可以提供默认的构造函数 B) 构造函数可以有参数,所以可以有返回值C) 构造函数可以重载 D) 构造函数可以设置默认参数6. 下面对析构函数的正确描述是( C )A) 系统不能提供默认的析构函数 B) 析构函数必须由用户定义C) 析构函数没有参数 D) 析构函数可以设置默认参数7. 对静态成员的不正确描述是( C )A) 静态成员不属于对象,是类的共享成员 B) 静态数据成员要在类外定义和初始化C) 调用静态成员函数时要通过类或对象激活,所以静态成员函数拥有this指针D) 非静态成员函数也可以操作静态数据成员8. 下面选项中,不是类的成员函数为( C )A) 构造函数B) 析构函数 C)友元函数 D) 缺省参数的构造函数方言9. 下面对友元的错误描述是( D )A) 关键字friend用于声明友元B) 一个类的成员函数可以是另一个类的友元C) 友元函数访问对象的成员不受访问特性影响D) 友元函数通过this指针访问对象成员10. 在C++中,类与类之间的继承关系具有( C )A) 自反性 B) 对称性 C) 传递性 D) 反对称性11. 下列关于类的继承描述中,( A )是错误的A) 派生类可以访问基类的所有数据成员,也能调用基类的所有成员函数B) 派生类也是基类,但基类不一定具有派生类的全部属性和方法C) 继承描述类的层次关系,派生类可以具有与基类相同的属性和方法D) 一个基类可以有多个派生类,一个派生类可以有多个基类12. 当一个派生类仅有继承一个基类时,基类中的所有公有成员成为派生类的( A )A) public成员 B) private成员 C) protected成员D) 友元13. 当一个派生类私有继承一个基类时,基类中的所有仅有成员和保护成员成为派生类的( B )A) public成员 B) private成员 C) protected成员D) 友元14. 不论派生类以何种方法继承基类,都不能使用基类的( B )A) public成员 B) private成员 C) protected成员D) public成员和protected成员15. 下面描述中,错误的是(BC )(两个答案)A) 在基类定义的public成员在公有继承的派生类中可见,也能在类外被访问B) 在基类定义的public和protected成员在私有继承的派生类中可见,在类外可以被访问C) 在基类定义的public和protected成员在保护继承的派生类中不可见D) 在派生类中不可见的成员要变成可访问的,需要进行访问声明16. 在C++中,不能被派生类继承的函数是(BC )(两个答案)A) 成员函数 B) 构造函数C) 析构函数 D) 静态成员函数17. 在创建派生类对象时,构造函数的执行顺序是( D )A) 对象成员构造函数、基类构造函数、派生类本身的构造函数B) 派生类本身的构造函数、基类构造函数、对象成员构造函数C) 基类构造函数、派生类本身的构造函数、对象成员构造函数D) 基类构造函数、对象成员构造函数、派生类本身的构造函数18. 当不同的类具有相同的间接基类时,有特点( AD )(两个答案)A) 各派生类对象将按继承路线产生自己的基类版本B) 派生类对象无法产生自己的基类版本C) 为了建立惟一的间接基类版本,在基类定义前加virtual即可D) 为了建立惟一的间接基类版本,应该声明虚继承19. 在C++中,要实现动态联编,必须使用( D )调用虚函数A) 类名 B) 派生类指针 C) 对象名 D) 基类指针20. 下列函数中,可以作为虚函数的是(CD )(两个答案)A) 普通函数 B) 构造函数 C)成员函数 D) 析构函数21. 在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值( B )A) 不同 B) 相同 C) 相容 D) 部分相同22. 下面函数原型声明中,( B )声明了fun为虚函数A) void fun()=0; B) virtual void fun()=0;C) virtual void fun(); D) virtual void fun(){};23. 若一个类中含有纯虚函数,则该类称为( D )A) 基类 B) 纯基类 C) 派生类 D) 抽象类24. 假设A为抽象类,下列声明( B )是正确的A) A fun(int); B) A *p; C) intfun(A); D) A Obj;25. 下面描述中,正确的是(BD )(两个答案)A) 虚函数是没有实现的函数 B) 纯虚函数的实现在派生类中C) 抽象类是没有纯虚函数的类 D) 抽象类指针可以指向不同的派生类26. 关于函数模板,描述错误的是( A )A) 函数模板必须由程序员实例化为可执行的函数模板B) 函数模板的实例化由编译器实现C) 一个类定义中,只要有一个函数模板,则这个类是类模板D) 类模板的成员函数都是函数模板,类模板实例化后,成员函数也随之实例化27. 下列的模板说明中,正确提(AD )(两个答案)A) template <typename T1, typename T2>B) template <class T1, T2>C) template <class T1, class T2>D) template <typename T1; typename T2>28. 假设有函数模板定义如下:Template <typename T>Max(T a, T b, T &c){ c=a+b; }下列选项正确的是(AD )(两个答案)A) float x,y; float z; Max(x,y,z);B) int x,y,z; Max(x,y,z);C) int x,y; float z; Max(x,y,z);D) float x; int y, z; Max(x,y,z);29. 关于类模板,描述错误的是( D )A) 一个普通基类不能派生类模板B) 类模板从普通类派生,也可以从类模板派生C) 根据建立对象时的实际数据类型,编译器把类模板实例化为模板类D) 函数的类模板参数须通过构造函数实例化30. 建立类模板对象的实例化过程为( C )A) 基类à派生类 B) 构造函数à对象C) 模板类à对象 D) 模板类à模板函数31. 在C++中,容器是一种( D )A) 标准类 B) 标准对象 C) 标准函数 D) 标准类模板32. 下列类中(BD )(两个答案)不是输入/输出流类iostream的派生类A) fstream B) ofstream C)strstream D)ostrstream33. 在下列选项中(BCD )(三个答案)是ostream类的对象A) cin B) cerr C)clog D) cout34. read函数的功能是从输入流中读取( D )A) 一个字符 B) 当前字符C) 一行字符 D) 指定若干个字符35. 下列选项中,用于清除基数格式位置以十六制输出的语句是( B )A) cout<<setf(ios::dec, ios::basefield);B) cout<<setf(ios::hex, ios::basefield);C) cout<<setf(ios::oct, ios::basefield);D) cin>>setf(ios::hex, ios::basefield);36. 下列格式控制符,在iostream.h中定义的是(AD )(两个答案),在iomanip.h中定义的是(BC )(两个答案)A) endl B) setfill C)setw D) oct37. 下列串流类,在strstream.h中定义的是(BD )(两个答案),在sstream.h 中定义的是(AC )A) istringstream B) istrstream C) ostringstream D) ostrstream38. 包含类fstream定义的头文件是( A )A) fstream.h B) ofstream.h C)ifstream.h D) iostream.h39. 要求打开文件 d:\file.dat,可写入数据,正确的语句是( D )A) ifstream infile(“d:\file.dat”, ios::in);B) ifstream infile(“d:\\file.dat”, ios::in);C) ofstream infile(“d:\file.dat”, ios::out);D) fstream infile(“d:\\file.dat”, ios::in| ios::out);40. 假定已定义浮点型变量data,以二进制方式把data的值写入输出文件流对象outfile中去,正确的语句是( C )A) outfile.write((float *) &data, sizeof(float));B) outfile.write((float *) &data, data);C) outfile.write((char *) &data, sizeof(float));D) outfile.write((char *) &data, data);二、简答题:1. 什么是预编译,何时需要预编译:回答:总是使用不经常改动的大型代码体。

集成电路封装与测试复习题(含答案)

集成电路封装与测试复习题(含答案)

第1章集成电路封装概论2学时第2章芯片互联技术3学时第3章插装元器件的封装技术1学时第4章表面组装元器件的封装技术2学时第5章BGA和CSP的封装技术4学时第6章POP堆叠组装技术2学时第7章集成电路封装中的材料4学时第8章测试概况及课设简介2学时一、芯片互联技术1、引线键合技术的分类及结构特点?答:1、热压焊:热压焊是利用加热和加压力,使焊区金属发生塑性形变,同时破坏压焊界面上的氧化层,使压焊的金属丝与焊区金属接触面的原子间达到原子的引力范围,从而使原子间产生吸引力,达到“键合”的目的。

2、超声焊:超声焊又称超声键合,它是利用超声波(60-120kHz)发生器产生的能量,通过磁致伸缩换能器,在超高频磁场感应下,迅速伸缩而产生弹性振动经变幅杆传给劈刀,使劈刀相应振动;同时,在劈刀上施加一定的压力。

于是,劈刀就在这两种力的共同作用下,带动Al丝在被焊区的金属化层(如Al膜)表面迅速摩擦,使Al丝和Al膜表面产生塑性形变。

这种形变也破坏了Al层界面的氧化层,使两个纯净的金属面紧密接触,达到原子间的“键合”,从而形成牢固的焊接。

3、金丝球焊:球焊在引线键合中是最具有代表性的焊接技术。

这是由于它操作方便、灵活,而且焊点牢固,压点面积大,又无方向性。

现代的金丝球焊机往往还带有超声功能,从而又具有超声焊的优点,有的也叫做热(压)(超)声焊。

可实现微机控制下的高速自动化焊接。

因此,这种球焊广泛地运用于各类IC和中、小功率晶体管的焊接。

2、载带自动焊的分类及结构特点?答:TAB按其结构和形状可分为Cu箔单层带:Cu的厚度为35-70um,Cu-PI双层带Cu-粘接剂-PI三层带Cu-PI-Cu双金属3、载带自动焊的关键技术有哪些?答:TAB的关键技术主要包括三个部分:一是芯片凸点的制作技术;二是TAB载带的制作技术;三是载带引线与芯片凸点的内引线焊接和载带外引线的焊接术。

制作芯片凸点除作为TAB内引线焊接外,还可以单独进行倒装焊(FCB)4.倒装焊芯片凸点的分类、结构特点及制作方法?答:蒸镀焊料凸点:蒸镀焊料凸点有两种方法,一种是C4 技术,整体形成焊料凸点;电镀焊料凸点:电镀焊料是一个成熟的工艺。

VC++考试试题

VC++考试试题

VC++考试试题VC++复习题选择题1. 下列关键字中哪一个不是用于类的访问控制的(B)A.public B. friend C. private D. protected2. 以下四个特性中哪一个不属于面向对象的三大特性(C)A.封装性 B. 多态性 C. 抽象性 D. 继承性3.管理MFC应用程序(A)A. CWinAPPB. CmainFrameC. CDoucumentD. CView4. 关于构造函数,下列说法不正确的是(A)A. 一个类中有且仅有一个构造函数B. 构造函数在说明类变量时被自动执行C. 构造函数没有返回值类型D. 类中的构造函数的函数名与该类的类名必须同名5.关于析构函数,下列说法不正确的是(C)A. 类中有且仅有一个析构函数B. 析构函数可以没有形参C. 析构函数没有返回值类型D.析构函数在对象消失时被自动执行6. 下列类中不属于MFC框架基本类的时(D)A. CWinAppB. CFrameWndC. CViewD. CObject7. 下列选项中哪一个不是命令消息的产生途径(C)A. 选择菜单B. 单击工具栏C. 点击对话框的按钮D. 程序产生命令8. 下列关于构造函数的描述中,错误的是(D)A. 构造函数可以设置默认参数B. 构造函数在定义类对象时自动执行C. 默认构造函数可以没有D. 构造函数不可以重载9. 当在使用类模板时,类模板本身被实例化成了一个具体的(D)A. 对象B. 实例C. 模板类D. 类10. 以下四个关于类的访问控制的描述哪一个是错误的(D)A. 子类不能访问其父类的私有数据成员和成员函数B. 子类的对象不能访问其父类的保护数据成员或者成员函数C. 类的对象不能访问类保护数据成员或者成员函数D. 类的成员函数不能访问类中的私有数据11.下面有关重载函数中说法正确的(C)A. 重载函数必须有不同的返回值类型B. 重载函数形参个数必须不同C. 重载函数必须有不同的形参列表D. 重载函数名可以不同12.一个视图对象能连接()文档对象,一个文档对象能连接(D)视图对象。

第十章习题

第十章习题

习题第十章面向对象的程序设计一、选择题1.以下关于visual foxpro类的说法,不正确的是()。

A.类具有继承性和封装性B.用户必须给基类定义属性,否则出错C.子类一定具有父类的全部属性D.用户可以按照已有的类派生出多个子类2.下面关于“类”的描述,错误的是()。

A.一个类包含了相似的有关对象的特征和行为方法B.类只是实例对象的抽象C.类可以按所定义的属性、事件和方法进行实际的行为操作D.类并不进行任何行为操作,它仅仅表明该怎样做3.类是一组具有相同属性和相同操作的对象的集合,类之间共享属性和操作的机制称为()。

A.多态性B.动态绑定C.静态绑定D.继承4.命令按钮组是()。

A.控件B.容器C.控件类对象D.容器类对象5.下列关于面向对象程序设计(OOP)的叙述,错误的是()。

A. OOP的中心工作是程序代码的编写B. OOP以对象及其数据结构为中心展开工作C. OOP以“方法”表现处理事物的过程。

D. OOP以“对象”表示各种事物,以“类”表示对象的抽象。

6.下列基类中是容器类的是()。

A.表单B.命令按钮C.列表框D.单选按钮7.在VISUAL FOXPRO系统中,以下关于事件的叙述错误的是()。

A.事件是每个对象可以识别和相应的某些行为和动作B.事件不能适用于多种控件C.事件是通过用户的操作性为引发的D.当事件发生时,将执行包含在事件过程中的全部代码8.下面关于属性、方法和事件的叙述中,错误的是()。

A.属性用于描述对象的状态,方法用于表示对象的行为B.基于同一个类产生的两个对象可以分别设置自己的属性值C.在新建一个表但是,可以添加新的属性、方法和事件D.事件代码也可以像方法一样被显示调用9.任何对象都有自己的属性,下列关于属性的叙述中,正确的是()。

A.属性是对象所具有的固有特征,通常用各种类型的数据来表示B.属性是对象所具有的内部特征,通常用各种类型的数据来表示C.属性是对象所具有的外部特征,通常用各种类型的数据来表示D.属性是对象所具有的固有方法,通常用各种程序代码来表示10.下列说法中错误的是()。

面向对象基础应用习题答案[1]

面向对象基础应用习题答案[1]

Java语言面向对象基础(答案)一、填空题1.类是一组具有相同(属性)和(行为)的对象的抽象。

(实例)是由某个特定的类所描述的一个个具体的对象。

2.(接口)只描述系统所提供的服务,而不包含服务的实现细节。

3.构造方法的方法名与(类名)相同,若类中没有定义任何的构造方法,则运行时系统会自动为该类生成一个(默认构造)方法。

4.在方法体内定义的变量是(局部变量),其前面不能加(public),且必须(初始化)。

5.数组元素作实参时对形参变量的数据传递是(单向值传递),数组名作实参时对形参变量的数据传递是(双向引用传递)。

6.对象作方法形参时,方法实参也用对象,实现(引用)调用。

7.( new)是一个特殊的方法,用于创建一个类的实例。

8.(类)变量在内存中只有一个拷贝,被该类的所有对象共享;每当创建一个实例,就会为(实例)变量分配一次内存,(实例)变量可以在内存中有多个拷贝,互不影响。

二、简答题1.名词解释:抽象、对象、类、实例、方法、属性、消息、接口、封装、继承、多态性抽象:是从被研究的对象中舍弃个别的,非本质的或与研究主旨无关的次要特征,而抽取与研究有关的共性内容加以考察,形成对被研究问题的正确的、简明扼要的认识。

对象:是对客观事物的抽象,是类的实例。

类:对对象的抽象,是一种抽象的数据类型。

实例:也就是对象,对象也被称为类的实例化。

方法:类的行为,事物动态特征的抽象。

属性:数据成员,是事物静态特征的抽象。

消息:p65接口:p87封装:p61继承:p66多态性:p702.简述面向对象的基本思想、主要特征和基本要素。

P59,主要特征是封装、继承和多态3.为什么要对类进行封装?封装的原则是什么?P59:高内聚,松耦合4.类的封装性、继承性和多态性各自的内涵是什么?第五章内容5.什么是对象?什么是类?二者有何关系?类是对象的模板,对象是类的实例。

以类为模板可以创建不同的对象。

6.Java中类定义的一般格式是什么?定义类的修饰符有哪些?各自的特点是什么?P607.Java中成员变量定义的一般格式是什么?成员变量有哪些修饰符?P39、p50、p618.Java中成员方法定义的一般格式是什么?成员方法有哪些修饰符?P39、p50、p619.简述构造方法的特点与作用。

java练习题-继承

java练习题-继承

一.extends和super的使用和方法的重写1.定义一个人的类(属性有名字,年龄。

写一个能输出各个属性值的方法showInfo()),定义一个学生类(属性有性别),学生继承人类要求:(1)父类的属性赋值用构造方法来实现(分别用有参数构造方法和无参数构造方法实现)(2)子类的属性也用构造方法来赋值.(3)在子类中重写父类的showInfo()方法(4)声明学生类的对象,调用学生的显示信息的方法。

2定义Animal父类,含有属性name,sex,age,方法sleep,run,编写一个子类Person,继承Animal类,然后调用父类的属性和方法二.1、试编写三个具有继承关系的类,A、B、C(B继承A,C继承B)。

要求A中包含方法a1()、a2(),B类中的方法b1()访问了a1()和a2(),C类中的方法c1()访问了a1()、a2()、b1()。

提示:(a1(),a2(),b1(),c1()这些方法体除了实现题目要求之外,其余内容可以任意编写。

)2、请编码实现动物世界的继承关系:动物(Animal)具有行为:吃(eat)、睡觉(sleep)动物包括:兔子(Rabbit),老虎(Tiger)这些动物吃的行为各不相同(兔子吃草,老虎吃肉);但睡觉的行为是一致的。

请通过继承实现以上需求,并编写测试类AnimalTest进行测试。

3、父类Person 包含like()方法子类Son 重写父类方法并打印输出4、(选做)父类Employee 属性:name、sex ,带一个构造方法Employee(String n,char s)子类Worker继承自Employee 属性:char category;//类别boolean dressAllowance;//是否提供服装津贴,有一个构造方法负责构造所有属性,还有一个自定义方法isDressAll()这个方法负责通过判断dressAllowance的值输出,是否提供服装津贴。

java封装继承多态选择题附加答案解析

java封装继承多态选择题附加答案解析

java封装继承多态选择题附加答案解析1. 封装的主要目的是:A. 增加代码的长度B. 隐藏实现细节C. 使所有方法都公有D. 提高程序运行速度答案: B。

解析:封装是面向对象编程的重要原则,通过将数据和方法封装在类中,隐藏内部实现细节,提高代码的可维护性和安全性。

2. 在以下选项中,哪一种方法用于实现封装?A. 使用`public`关键字定义所有成员B. 使用`private`关键字隐藏类的实现细节C. 使用`static`关键字定义所有成员D. 使用`final`关键字定义所有成员答案: B。

解析:封装是通过使用`private`关键字将类的实现细节隐藏起来,并提供公共的访问方法(getter和setter)来访问这些私有成员。

3. 在Java中,如果类B继承自类A,则下列哪个选项是正确的?A. 类B是类A的超类B. 类A是类B的子类C. 类A是类B的超类D. 类B不能有自己的方法答案: C。

解析:类A是类B的超类,类B是类A的子类。

子类可以有自己的方法和属性。

4. 在以下哪个情况下,一个方法被认为是重写了另一个方法?A. 当方法具有相同的名称但不同的参数列表时B. 当方法在子类中重新实现且具有相同的名称、返回类型和参数列表时C. 当方法在同一个类中被定义了两次时D. 当方法在类中没有定义时答案: B。

解析:方法重写发生在子类中,要求被重写的方法在子类中具有相同的方法名、返回类型和参数列表。

5. 在以下访问修饰符中,哪个是最具限制性的?A. publicB. protectedC. default(无修饰符)D. private答案: D。

解析:`private`是最具限制性的访问修饰符,只有在同一个类中可以访问。

6. 以下哪个场景中体现了多态性?A. 一个方法有多个重载版本B. 一个类有多个构造方法C. 一个子类可以使用父类的属性和方法D. 父类的引用指向子类的对象答案: D。

解析:多态性允许父类的引用指向子类的对象,实际调用的方法取决于对象的运行时类型。

c++题库

c++题库

假定 AB 引用是某个变量的别名,对引用的操作就是对被引用变量的操作。

A. 对B. 错假定 AB 为一个类,则执行 AB x; 语句时将自动调用该类的无参构造函数。

A. 对B. 错构造函数用来初始化类的新对象,构造函数与类同名,返回类型只能为void。

A. 对B. 错用new动态分配的内存是在堆中分配的,而不是在栈中分配的。

A. 对B. 错使用关键字class定义的类中缺省的访问权限是私有(private)的。

A. 对B. 错在公有继承中,基类中的公有成员和私有成员在派生类中都是可见的。

A. 对B. 错C++语言的标识符是不区分大小写的。

A. 对B. 错作用域运算符(::)只能用来限定成员函数所属的类。

A. 对B. 错声明对象时,类名前面不需要加class关键字。

A. 对B. 错C++程序一般应当含有main函数,它是C++程序执行的入口。

A. 对B. 错可以在类的构造函数中对静态数据成员进行初始化。

A. 对B. 错C++语言中,既允许单继承,又允许多继承。

A. 对B. 错派生类的继承方式有两种:公有继承和私有继承。

A. 对B. 错多继承情况下,派生类的构造函数的执行顺序取决于定义派生类时所指定的各基类的顺序。

A. 对B. 错类的私有成员只能被类中的成员函数访问,任何类以外的函数对它们的访问都是非法的。

A. 对B. 错构造函数和析构函数都不能重载。

A. 对B. 错在基类中被声明为虚函数的类的成员函数必须在每个派生类中显式声明为虚函数,才能具有多态的特征。

A. 对B. 错关于运算符重载,运算符函数的返回类型不能声明为基本数据类型。

A. 对B. 错将类的一个对象赋值给该类的另一个对象时,调用拷贝构造函数。

A. 对B. 错模板可以使程序对任何数据类型进行同样方式的处理。

A. 对B. 错1. 编译源文件后产生的文件是()。

A. 目标文件B. 可执行文件C. 源文件D. 头文件2. 每个C++程序只能有一个()。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.以下关于继承的叙述正确的是( C )。

A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承2.有继承关系时用到的关键字是(A )。

( 2 分)A:extendB:extendsC:implementsD:implement3:Java变量中,以下不属于复合类型的数据类型是( D)。

( 2 分)A:类B:字符型C:数组型D:接口4:java中定义数组名为abc,下面(B )可以得到数组元素的个数。

( 2 分)A:abc.length( )B:abc.lengthC:len(abc)D:ubound(abc)5:下列说法正确的是(A )。

( 2 分)A:编译后的Java源程序根据文件中定义的类和接口的个数产生相应个数的.class 字节码文件。

B:Java语言的源文件中不是任何地方都可以加注释的。

C:一个文件中可以有多个访问权限为public的类。

D:含有main()方法的类可以为public的类,也可以为其他类。

6:在调用构造函数时(C )( 2 分)A:子类可以不加定义就使用父类的所有构造函数B:不管类中是否定义了何种构造函数,创建对象时都可以使用默认构造函数C:先调用父类的构造函数D:先调用形参多的构造函数7:Java与C/C++比较说法错误的是(D)。

( 2 分)A:Java不提供goto语句,所以也就没指定goto作为关键字。

B:Java没有指针。

C:Java没有联合和结构D:Java只有单继承没有多重继承。

8:若需要定义一个类域或类方法,应使用( B)修饰符。

( 2 分)A:staticB:packageC:privateD:public9:下列说法( C)是正确的。

( 2 分)A:程序执行到break语句是一定会结束所有的循环B:程序执行到continue语句时会结束当前循环C:break语句和continue语句都可以和标签协同使用D:continue语句和break语句的作用相同10:以下说法正确的是(D )。

( 2 分)A:每个Java类都至少有一个构造方法,如果没有则机器自动生成一个默认的构造方法。

B:如果类里定义了一个或多个构造方法,那么java也提供默认的构造方法C:每个Java类中用户必须定义至少一个构造方法。

D:以上都不对11:对封装的理解正确的是(A )。

( 3 分)A:封装就是把对象的属性和行为结合成一个独立的单位。

B:封装就是把对象完全隐蔽起来,不让外界访问。

C:封装性是一个使用问题。

D:封装和抽象是一回事。

12:对成员的访问控制保护最强的是(C )。

( 3 分)A:publicB:缺省C:privateD:protected13:类Test1定义如下:1.public class Test1{2. public float aMethod(float a,float b){ }3.4.} 将以下( B)方法插入行3是不合法的。

( 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){ }14关于构造函数的说法( B)正确。

( 2 分)A:一个类只能有一个构造函数B:一个类可以有多个不同名的构造函数C:构造函数与类同名D:构造函数必须自己定义,不能使用父类的构造函数15:关于以下程序段,正确的说法是(D )。

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”);( 2 分)A:程序将输出:= = succeededB:程序将输出: .equals() succeededC:程序将输出:= = succeeded .equals() succeededD:程序无输出16:关于以下程序代码的说明正确的是( C)。

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.}( 2 分)A:5行不能通过编译,因为引用了私有静态变量B:10行不能通过编译,因为x是私有静态变量C:程序通过编译,输出结果为:x=103D:程序通过编译,输出结果为:x=102三、程序阅读题1、以下程序的输出结果为___ Peter is 17 years old!___________________。

public class Person {String name;int age;public Person(String name, int age) { = name;this.age = age;}public static void main(String[] args) {Person c = new Person("Peter", 17);System.out.println( + " is " + c.age + " years old!");}}2、以下程序的输出结果为__课程号:101 __课程名:ASP __学分:_3_________________。

public class Course {private String cNumber;private String cName;private int cUnit;public Course(String number, String name, int unit) {cNumber = number;cName = name;cUnit = unit;}public void printCourseInfo() {System.out.println("课程号:" + cNumber + " 课程名:" + cName + " 学分:" + cUnit);}}class CourseTest {public static void main(String[] args) {Course c;c = new Course("101", "ASP", 3);c.printCourseInfo();}}3、以下程序的输出结果为_汤姆猫_体重:20斤_____________________。

public class Tom {private float weight;private static String name;public void setWeight(float weight) {this.weight = weight;}private void out() {System.out.println(name + "体重:" + weight + "斤");}public static void main(String[] args) { = "汤姆猫";Tom cat = new Tom();cat.setWeight(20);cat.out();}}4、以下程序的输出结果::Tom 年龄:15家庭住址: 金水区学校:九中: 66123456public class Father {String name, address, tel;int age;public Father(String name, int age) { = name;this.age = age;}void out() {System.out.print(":" + name);System.out.print(" 年龄:" + age);}void outOther() {System.out.print(" 家庭住址:" + address);System.out.print(" :" + tel);}}class Son extends Father {String school;public Son(String name, int age) {super(name, age);}void out() {super.out();super.outOther();System.out.println(" 学校:" + school);}public static void main(String args[]) {Son son = new Son("Tom", 15);son.address = "金水区";son.school = "九中";son.tel = "66123456";son.out();}}5、下列程序的运行结果是__12345___________________。

public class MyClass {int a[] = { 1, 2, 3, 4, 5 };void out() {for (int j = 0; j < a.length; j++)System.out.print(a[j] + "");}public static void main(String[] args) {MyClass my = new MyClass();my.out();}}1、import java.io.*;public class abc{public static void main(String args [ ]){AB s = new AB("Hello!","I love JAVA.");System.out.println(s.toString( ));}}class AB {String s1;String s2;public AB(String str1, String str2){s1 = str1;s2 = str2;}public String toString( ){return s1+s2;}}运行结果:____ Hello! I love JAVA.________________2、import java.io.* ;public class abc{public static void main(String args[ ]){ int i, s = 0 ;int a[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 };for ( i = 0 ; i < a.length ; i ++ )if ( a[i]%3 = = 0 ) s += a[i] ;System.out.println("s="+s);}}运行结果:__s=180__________________3、import java.io.* ;public class abc{public static void main(String args[ ]){System.out.println("a="+a+"\nb="+b);}}class SubClass extends SuperClass{ int c;SubClass(int aa, int bb, int cc){super(aa, bb);c=cc;}}class SubSubClass extends SubClass{ int a;SubSubClass(int aa, int bb, int cc){ super(aa, bb, cc);A = aa+bb+cc;}void show(){System.out.println("a="+a+"\nb="+b+"\nc="+c);}}运行结果:a=60b=20c=301.以下程序的输出结果为相等____________________ 。

相关文档
最新文档