类的封装性练习题

合集下载

面向对象练习答案

面向对象练习答案
b.子类必须通过this关键字调用父类有参数的构造方法。
c.如果子类的构造方法没有通过super调用父类构造方法,那么子类会先调用父类不含参数的构造方法,再调用子类自己的构造方法。
d.创建子类对象时,先调用子类自己的构造方法,然后调用父类的构造方法。
14.定义了类B和类C如下,并将其保存为B.java,编译B.java文件,得到的结果是: (C)
}
}
a)编译成功,结果是显示:“学生人数:2”。
b)编译成功,结果是显示:“学生人数:1”。
c)编译不成功,因为count是static,不能给其他类调用。
d)编译不成功,因为在类student中,name没有初始化。
10.编译和运行下面的程序结果是:(a)
class Calculate{
final double PI=3.1415926;
public class Cnt{
int a=0;
public static void setNum(int y){
a=y;
}
public static int getNum(){
return a;
}
public static void main(String args[]){
Cnt cn=new Cnt();
double area=___a.area(r)__;//调用area方法
System.out.println(“圆面积为:”+area);
}
}
5.已经创建了类Student,下面调用它getNum()方法正确的是:(D)
class Student{
static int student_no=0;
public static int getNum(){

javase练习题

javase练习题

javase练习题一、基础知识篇1. Java基本数据类型有哪些?分别写出它们的默认值。

2. 什么是封装?简述封装的优点。

3. 请写出Java中的四种访问修饰符,并说明它们的访问权限。

4. 什么是构造方法?它与普通方法的区别是什么?5. 在Java中,如何实现方法的重载和重写?二、面向对象篇2. 如何实现一个简单的Java类,包含两个属性和一个方法?3. 简述Java中的继承机制及其作用。

4. 什么是接口?与抽象类有什么区别?5. 请举例说明Java中的多态性。

三、集合框架篇1. Java集合框架中常用的集合类有哪些?2. 请简述ArrayList和LinkedList的区别。

3. 什么是HashMap?它的工作原理是什么?4. 请解释HashSet和TreeSet的区别。

5. 如何遍历一个List集合?四、异常处理篇1. 什么是异常?Java中的异常分为哪几类?2. 请举例说明trycatchfinally语句的使用方法。

3. 什么是自定义异常?如何创建和使用自定义异常?4. 请简述Java异常处理机制的作用。

int a = 10;int b = 0;int result = a / b;五、IO流篇1. 请简述Java IO流的分类。

2. 如何实现文件复制功能?3. 请解释字节流和字符流的区别。

4. 什么是序列化和反序列化?如何实现?5. 请举例说明Java中的文件操作。

六、多线程篇1. 什么是线程?线程和进程有什么区别?2. 请简述线程的生命周期。

3. 如何创建一个线程?有哪几种方式?4. 什么是线程同步?为什么需要线程同步?5. 请解释线程池的概念及其作用。

七、网络编程篇1. 请简述TCP和UDP协议的区别。

2. 如何实现一个简单的Socket通信?3. 什么是URL?如何解析一个URL?4. 请简述HTTP协议的工作原理。

5. 如何实现一个简单的HTTP服务器?八、Java新特性篇1. 请列举Java 8中的几个新特性。

面向对象技术(本)阶段练习四资料

面向对象技术(本)阶段练习四资料

《面向对象技术(本)》课程第四阶段练习题、填充题1超类的private成员不能被子类继承。

2.在声明一个类变量时,前面必须要加上static修饰符。

3. import java.util.*;语句可导入Java的实用包中所有的类。

4.方法的覆盖是后期绑定,方法的重载是前期绑定。

5.写出一个表达式:输出角度300的余弦值Math.cos(30*3.14/I80。

二、选择题旦1.找出有关类的正确说法。

a. 类具有封装性,所以类的数据是不能被访问的。

b. 类具有封装性,但可以通过类的公共接口访问类中的数据。

c. 声明一个类时,必须用Public修饰符。

d. 每个类中,必须有main方法,否则程序无法运行。

e.A 2.将类的成员的访问权限设置为默认的,则该成员能被a. 同一包中的类访问b. 其它包中的类访问c. 所有的类访问d. 所有的类的子类访问C 3.下面哪一种是正确的方法重栽a. int fun (i nt afloat b{} float fun (i nt a,float b{}b. float fun (i nt a,float b{}float fun (i nt x,float y{}c. float fun( float a{}float fun (float a,float b{}d. flaot fun 1(i nt a,float b{}float fun 2(i nt a,float b{}D 4.下面关于继承的说法那个是正确的a. 超类的对象就是子类的对象。

b. 一个类可以有几个超类。

c. 一个类只能有一个子类。

d. 一个类只能有一个超类。

C 5.下面关于多态性的说法那个是正确的a. 一个类中,不能有同名的方法。

b. 子类中不能有和父类中同名的方法。

c. 子类中可以有和父类中同名且参数相同的方法。

d. 多态性就是方法的名字可以一样,但返回的类型必须不一样。

三、简答题1. 什么是类,什么是对象?在面向对象的程序设计语言中,类是一种特殊属性类型,类可以看作具有共同属性和行为的事物的抽象。

《程序设计基础》练习题

《程序设计基础》练习题
《程序悉概念为主)
1.在C++的结构化程序设计框架中,程序的基本组成单元是___。
A.函数B.类
C.关系D.数据结构
2.下列特性中,C与C++共有的是_____。
A.继承B.封装C.多态性D.函数定义不能嵌套
3.面向对象程序设计思想的主要特征中,不包含____。
C.整型常量或整型表达式D.任何类型的表达式
28.若有以下说明和语句,且0<i<10,则对数组元素的错误引用是____。
int a[ ]={1,2,3,4,5,6,7,8,9,0}, *p,i;
p=a;
A.*(a+i) B.a[p-a] C.p+i D.*(&a[i])
29.若有以下定义和语句,且0<i<10,则对数组元素地址的正确表示是__。
6.下列哪个是C++语言的有效标识符?____。
A._No1 B.No.1 C.12345 D.int
7.在C++语言中,所有函数说明都必须指明返回值类型,没有返回值的函数应说明为____类型的函数。
A.int B.char C.float D.void
8.下列字符常量的写法中,错误的是____。
A.’\105’B.’*’C.’’’’D.’\a’
A.如果类A是类B的友元,那么类B也是类A的友元
B.如果函数fun( )被说明为类A的友元,那么在func( )中可以访问类A的私有成员
C.友元关系不能被继承
D.如果类A是类B的友元,那么类A的所有成员函数都是类B的友元
40.下面关于类MyClass的定义,对定义中的各语句描述正确的是____。
Class MyClass

第7、8章 深入面向对象练习题

第7、8章  深入面向对象练习题

一、选择题(1)下列构造方法的调用方式中,正确的是()A.按照一般方法调用B.由用户直接调用C.只能通过new自动调用D.被系统调用(2)下列叙述中,正确的是( )A. 声明变量时必须指定一个类型B. Java认为变量number与Number相同C. Java中唯一的注释方式是"//"D. 源文件中public类可以有0或多个(3)下列叙述中,错误的是( )A. 父类不能替代子类B. 子类能够替代父类C. 子类继承父类D. 父类包含子类(4)下列关于继承的哪项叙述是正确的?A.在java中允许多重继承B.在java中一个类只能实现一个接口C.在java中一个类不能同时继承一个类和实现一个接口D.java的单一继承使代码更可靠(5)下列哪个修饰符可以使在一个类中定义的成员变量只能被同一包中的类访问?( )A.private B.无修饰符C.public D.protected(6)给出下列代码,如何使成员变量m 被方法fun()直接访问?class Test{ private intm;public static void fun(){ ... }}A.将private int m 改为protected int mB.将private int m 改为public int mC.将private int m 改为static int mD.将private int m 改为int m(7)下列关于内部类的说法不正确的是( )A.内部类的类名只能在定义它的类或程序段中或在表达式内部匿名使用B.内部类可以使用它所在类的静态成员变量和实例成员变量C.内部类不可以用abstract修饰符定义为抽象类D.内部类可作为其他类的成员,而且可访问它所在类的成员(8)在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。

这种面向对象程序特性称为()。

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

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

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 )。

java面向对象练习题

java面向对象练习题

java面向对象练习题# Java面向对象练习题一、选择题1. 在Java中,以下哪个关键字用于定义类的访问权限为“仅包内可见”?- A. public- B. private- C. protected- D. 默认(不写访问修饰符)2. 以下哪个是Java中的构造方法?- A. 与类名相同,没有返回类型的方法- B. 与类名不同,没有返回类型的方法- C. 与类名相同,有返回类型的方法- D. 与类名不同,有返回类型的方法3. 在Java中,哪个关键字用于实现类的继承?- A. extends- B. implements- C. override- D. abstract4. 以下哪个是Java中类的成员变量?- A. 局部变量- B. 实例变量- C. 静态变量- D. 方法参数5. 以下哪个是Java中的多态性?- A. 接口- B. 继承- C. 封装- D. 抽象类二、简答题1. 解释Java中的封装性,并给出一个封装的类的例子。

2. 描述Java中接口和抽象类的区别。

3. 什么是Java中的继承?请举例说明如何使用继承。

三、编程题1. 创建一个名为`Person`的类,包含姓名(name)、年龄(age)和性别(gender)三个属性。

为每个属性提供getter和setter方法。

2. 编写一个名为`Student`的类,它继承自`Person`类,并添加一个名为`studentID`的属性。

为`studentID`提供getter和setter方法,并重写`toString`方法以返回学生的详细信息。

3. 创建一个接口`Movable`,包含一个方法`move()`。

然后创建一个名为`Car`的类实现该接口,并提供`move`方法的具体实现。

四、综合应用题1. 设计一个简单的银行账户系统,包含以下类:- `Account`:基本账户类,包含账户ID、账户余额和存款(deposit)与取款(withdraw)方法。

python面向对象练习题(打印版)

python面向对象练习题(打印版)

python面向对象练习题(打印版)# Python面向对象编程练习题面向对象编程(OOP)是Python中的核心概念之一。

通过以下练习题,你可以加深对Python中类和对象的理解。

## 练习一:定义一个类1. 定义一个名为`Person`的类,包含以下属性:- `name`:姓名- `age`:年龄2. 为`Person`类添加一个初始化方法`__init__`,用于设置姓名和年龄。

3. 添加一个方法`greet`,用于打印问候语。

```pythonclass Person:def __init__(self, name, age): = nameself.age = agedef greet(self):print(f"Hello, my name is {} and I am{self.age} years old.")```## 练习二:继承和多态1. 定义一个`Student`类,继承自`Person`类。

2. 添加一个属性`student_id`来表示学生的学号。

3. 重写`greet`方法,使其打印出学生特有的问候语。

```pythonclass Student(Person):def __init__(self, name, age, student_id):super().__init__(name, age)self.student_id = student_iddef greet(self):print(f"Hello, I am {}, a student of age {self.age} with ID {self.student_id}.")```## 练习三:封装1. 创建一个名为`Car`的类。

2. 包含属性:`make`(制造商),`model`(型号),`year`(年份)。

3. 为这些属性提供私有化处理,即在属性名前加上双下划线`__`。

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

类的封装性练习题
1、设计一个Dog类,类中有名字、颜色、年龄三个
属性,将属性设置为私有成员变量,定义构造方法来初始化类的这些属性,构造方法包括以下几种:⑴三个参数的构造方法、⑵两个参数的构造方法、⑶无参的构造方法和⑷拷贝构造方法;定义成员方法输出Dog信息,定义成员方法输出
Dog的叫声,编写测试程序使用Dog类,将测试代码写在Dog类以外的其他类中。

2、设计一个矩形Rectangle类,类中有长度和宽度两
个属性,定义构造方法(至少两个)来初始化类的这些属性,定义成员方法计算矩形的周长,定义成员方法计算矩形的面积,编写测试代码使用Rectangle类中的成员,输出一个矩形的周长和面积。

相关文档
最新文档