面向对象编程基本知识练习 一、判断题

1.不需要定义类,就能创建对象。()

2.构造方法用于给类的 private 实例变量赋值。() 3.对象一经声明就可以立即使用。()

4.在定义变量和方法时,必须清楚地在其面前标上访问权限修饰符。() 5.Java 程序中的参数传递都是把参数值传递给方法定义中的参数。() 6.在类定义中,成员访问权限修饰符不能多次出现。()

7.new 操作符动态地为对象按其指定的类型分配内存,并返回该类型的一个引用。() 8.类的方法通常设为 public,而类的实例变量一般也设为 public。() 9.构造方法在创建对象时被调用。()

10.通过点运算符与类对象的引用相连,可以访问此类的成员。() 11.声明为 protected 的类成员只能被此类中的方法访问。()

12.同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间。() 13.类的成员变量可以放在类体的任意位置。()

14.声明为 protected 的类成员可以被此类作用域中的任何对象访问。() 15.没有返回值的方法可以用 void 来表示,也可以不加。() 二、选择题

1. 下面对对象概念描述错误的是:( ) A 操作是对象的动态属性 B 任何对象都必须有继承性 C 对象间的通讯靠消息传递 D 对象是属性和方法的封装体

2.编译并运行下面的程序,运行结果为:( ) public class A {

public static void main(String[] args) {

A a=new A(); a.method(8); }

void method(int i) {

System.out.println(“int:“+i); }

void method(long i) {

System.out.println(“long:“+i); } }

A 程序可以编译运行,输出结果为 int:8 B 程序可以编译运行,输出结果为 long:8

C 程序有编译错误,因为两个 method()方法必须定义为静态(static)的 D 程序可以编译运行,但没有输出 3.下面关于类的说法不正确的是:() A 类是 Java 语言中的一种复合数据类型 B 类中不包含数据变量和方法

C 类是对所有具有一定共性的对象的抽象 D Java 语言的类只支持单继承

4.能作为类及其成员的修饰符是:() A interface B class

C protected D public

5.设 x、y 均为已定义的类名,下列声明对象 x1 的语句不可能正确的是:() A public x xl=new y(); B public y xl=new x(); C x xl=new x(); D x xl=x();

6.面向对象程序设计技术的特点是:() A 可重用性 B 可维护性

C 表示方法的一致性

D 可重用性、可维护性、表示方法的一致性 7.下列方法定义中,方法头不正确的是:() A public static x(double a){…} B public static int x(double y){…} C void x(double d) D public int x(){…}

8.设已声明了一个类 A 的两个对象 al、 a2,为了初始化 a1 和 a2,下面语句正确的是:()

A al=new(); a2=new(); B al=A new(); a2=A new(); C al,a2=new A();

D al=new A(); a2=new A(); 9.构造方法何时被调用?() A 类定义时

B 使用对象的变量时 C 调用对象方法时 D 创建对象时

10.下列哪个类声明是正确的?() A public abstract class Car{…} B abstract private move(){…} C protected private number; D abstract final class Hl{…}

11.下列不属于面向对象程序设计的基本特征的是:()

A 抽象 B 封装 C 继承 D 静态

12.请看下面的程序段 class Person {

String name,department; int age;

public Person(String n) { name = n; }

public Person(String n,int a) { name = n; age = a; } public Person(String n,String d,int a) {

//doing the same as two arguments version of constructer //including assignment name=n,age=a } }

下面那一选项可以添加到“//doing the same??”处:() A Person(n,a)

B this(Person(n,a)) C this(n,a)

D this(name.age)

13.()是一个特殊的方法,用于对类的实例变量进行初始化。 A 终止函数 B 构造函数 C 重载函数 D 初始化函数

14.关于变量和它们范围的说法,正确的是:() A 实例变量是类的成员变量

B 实例变量要用关键字 static 来声明

C 在一个方法执行时,定义在该方法的局部变量才被创建 D 局部变量必须在它们使用前初始化 15.请看下面的程序段 class Test{ private int m;

public static void fun(){ //some code… } }

方法 fun()如何来访问变量 m:()

A 将 private int m 改成 protected int m B 将 private int m 改成 public int m C 将 private int m 改成 static int m D 将 private int m 改成 int m

16.在 Java 中,方法 main()将返回一个()值。 A String

B int C char D void

17.有一个类 A,对于其构造函数的声明正确的是() A void A(int x){…} B public A(int x){…} C A A(int x){…} D int A(int x){…}

18.请看下面的程序段 public class Test {

long a[ ] = new long[10];

public static void main(String arg[ ]) { System .out .println(a[6]); } }

那一个选项是正确的:() A 不输出任何内容 B 输出 0

C 当编译时有错误出现 D 当运行时有错误出现

19.关键字()表明一个对象或变量在初始化后不能修改。 A extends B final C this D finalizer

20.声明为 static 的方法不能访问()类成员。 A 超类 B 子类

C 非 static D 用户自定义类 类的封装练习 一、判断题

1.在子类中可以用完全相同的 signature 重新定义一个超类方法,这称为方法的覆盖 (override)。()

2.final 修饰的方法是不能被子类覆盖的,只能被重载。() 3.声明为 final的类不能是超类。()

4.当一个超类成员不适合该子类时,子类会以恰当的方式重新定义它。() 5.对子类实例化对象需要调用超类的构造函数进行初始化工作,完成对子类中的超类实例变量的初始化,则子类可以继承超类的构造函数。()

6.在类的定义中如果不明确给出超类,那么默认超类就是 Object 类。()

7.protected 类型的实例变量或方法只能由声明该变量或方法的类本身及其子类访问。() 8.Java 的每个子类的构造函数都要显式的调用它的直接超类的构造函数。() 9.超类对象的集合通常比它的任何一个子类对象集合大。() 10.子类可以从多个超类中派生出来。()

二、选择题

1.为了区分重载多态中同名的不同方法,要求:() A 参数名不同 B 返回值类型不同

C 采用不同的形式参数列表 D 选项 A B C 都对

2.在某个类中定义一个方法:void GetSort(int x),以下关于能否作为这个方法的重载错 误的是:()

A void GetSort(float x){x*=x;}

B int GetSort(double y){ return(int)(2*y); } C double GetSort(int x,int y){return x+y; } D 都不能

3.下列对继承的说法,哪个是正确的:() A 子类只能继承父类 public 方法和状态 B 子类能继承父类的非私有方法和状态 C 子类能继承父类的所有方法和状态

D 子类只能继承父类的方法,而不继承状态 4.定义类 A 如下: class A

{ int a,b,c;

public void B(int x,int y,int z){a=x; b=y; c=z; } }

下面对方法 B()的重载哪些是正确的:()

A public void A(int xl,int yl,int z1){ a=x; b=y; c=z; } B public void B(int x1,int yl,int z1){ a=x; b=y; c=z;} C public void B(int x,int y){ a=x; b=y; c=0;} D public B(int x,int y,int z){a=x; b=y; c=z; } 5.下列程序的结果输出为:() class Strange{ int j; Strange(){ this(4); }

Strange(int j){ this.j=j; } }

class MainStrange{

public static void main(string[] args){ Strange funny=new Strange(); System.out.println(“j=“+funny.j); } } A j=2

java封装例题_java面向对象编程类的封装接口和基本类库练习题相关推荐

  1. java class对象创建时机_Java面向对象编程-类的声明周期

    第十章 类的生命周期 10.1 Java虚拟机及程序的生命周期 当通过java命令运行一个Java程序时,就启动了一个Java虚拟机进程.Java虚拟机进程从启动到终止的过程,称为Java虚拟机的生命 ...

  2. java类声明语句_Java面向对象编程-类的声明周期

    第十章 类的生命周期 10.1 Java虚拟机及程序的生命周期 当通过java命令运行一个Java程序时,就启动了一个Java虚拟机进程.Java虚拟机进程从启动到终止的过程,称为Java虚拟机的生命 ...

  3. 斗地主Java课程设计_JAVA面向对象编程课程设计——web版斗地主

    一.团队课程设计博客链接 二.个人负责模块或任务说明 实体类的设计 斗地主规则的实现 人机自动出牌的算法 实现数据库的DAO模式 三.自己的代码提交记录 注:这里只有部分提交记录,详细的提交记录在团队 ...

  4. java为什么使用封装_Java面向对象编程为什么需要封装

    1.概述 学习了前面的面向对象的基础概念后,我们了解要以面向对象的思维来思考一个事物.面向对象有三个基本属性:封装.继承.多态.今天我们就重点讲解其中一个封装的概念. 抛开"封装" ...

  5. Day55-每日一道Java面试题-Java 面向对象编程三大特性: 封装 继承 多态

    Java 面向对象编程三大特性: 封装 继承 多态 封装 封装把一个对象的属性私有化,同时提供一些可以被外界访问的属性的方法,如果属性不想被外界访问,我们大可不必提供方法给外界访问.但是如果一个类没有 ...

  6. java面向对象编程的思想_java面向对象编程思想的理解

    1.我们总说java是一门面向对象编程的语言,那什么是面向对象呢? 我是这样理解的,对象是事物存在的实体,如,猪.狗,花早等都是对象,对象由两部分组成.面向对象编程的三大特点:继承,多态,类是封装对象 ...

  7. java面向对象编程思想_Java面向对象编程思想的理解

    1.我们总说java是一门面向对象编程的语言,那什么是面向对象呢? 我是这样理解的,对象是事物存在的实体,如,猪.狗,花早等都是对象,对象由两部分组成.面向对象编程的三大特点:继承,多态,类是封装对象 ...

  8. 允许使用抽象类类型 isearchboxinfo 的对象_Java面向对象编程三大特征 - 多态

    Java面向对象编程三大特征 - 多态 本文关键字:Java.面向对象.三大特征.多态 多态是面向对象编程的三大特征之一,是面向对象思想的终极体现之一.在理解多态之前需要先掌握继承.重写.父类引用指向 ...

  9. 第2课第3节_Java面向对象编程_继承性_P【学习笔记】

    摘要:韦东山android视频学习笔记  面向对象程序的三大特性之继承性:继承性的主要作用就是复用代码.继承性也有一定的限制,如图一 图一 1.我们在第2课第2节_Java面向对象编程_封装性_P 中 ...

最新文章

  1. linux unset命令,Linux unset命令
  2. linux sed命令处理文本文件
  3. 判断file空_File类的基本用法
  4. LINUX ltrace命令-用来跟踪进程调用库函数的情况学习
  5. android 控件 margin,Android MarginDesign控件TabLayout导航栏使用详解
  6. 【转载】Java文件编码自动转换工具类
  7. 性能测试监控工具nmon使用方法
  8. 绘图神器 —— Graphviz(一)
  9. jsapi支付签名_小程序开发之微信支付
  10. Bootstarp4 按钮
  11. xp查看计算机mac地址查询,如何查看mac地址 xp系统查看查询mac地址方法介绍
  12. spark-sql 方差和标准差
  13. 笔记-软考高项-错题笔记汇总3
  14. 阅读技术书籍原著的困扰:技术书籍中的符号用英语该怎么念?
  15. IP电话的VoIP语音网关设计
  16. 人脸聚类Learning to Cluster Faces(翻译)
  17. 用计算机证明的定理,定理机器证明
  18. TPMS烧录器安装 SNP739
  19. 从C到C++___类继承(五)多重继承
  20. android照片裁剪

热门文章

  1. 基于HTML服装商城项目的设计与实现
  2. antd 日期时间选择_antd-mobile的DatePicker日期选择组件使用
  3. 1,21条MySQL性能调优经验
  4. android回传值,Android Activity 回传值
  5. 常见的数据库有哪几种?
  6. txt格式转换成prg_ppt怎么转换成pdf?详细教程免费分享!
  7. Delta机器人的运动学分析
  8. R中如何下载pima-indians-diabetes数据库
  9. Dubbo 面试题总结
  10. html字体变大自动换行,css 实现文字自动换行切同行元素高度自适应