java概念题汇总_第1页
java概念题汇总_第2页
java概念题汇总_第3页
java概念题汇总_第4页
java概念题汇总_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java 初级概念题汇总 1、面前对象的特征: (1).抽象: 抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与 当前目标有关的方面。抽象并不打算了解全部问题,而只是选择其中的一部 分,暂时不用部分细节。抽象包括两个方面,一是过程抽象,二是数据抽象。 (2).继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明 确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为 类继承。新类继承了原始类的特性,新类称为原始类的派生类(子类) ,而原 始类称为新类的基类(父类) 。派生类可以从它的基类那里继承方法和实例变 量,并且类可以修改或增加新的方法使之更适合特殊的需要。 (3).封装: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的界面。面向 对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封 装的对象,这些对象通过一个受保护的接口访问其他对象。 (4). 多态性: 多态性是指允许不同类的对象对同一消息作出响应。多态性包括参数化多态 性和包含多态性。多态性语言具有灵活、抽象、行为共享、代码共享的优势, 很好的解决了应用程序函数同名问题。 2、类和对象的定义: 类和对象是面向对象方法的核心概念。 类(Class):对某一类事物的描述,是抽象的、概念上的定义; 对象(Object):实际存在的该类事物的个体,因而也称实例(Instance). 3、封装的定义和目的: 定义:通过将类的成员变量声明为私有的(private) ,再提供一个或多个 公有(public)方法对该成员变量的访问或修改,这种方式即称为封装。 目的: (1) 隐藏类的实现细节; (2) 让使用者只能通过事先定制好的方法来访问数据,可以方便地加入控 制逻辑,限制对属性的不合理操作; (3) 便于修改,增强代码的可维护性; (4) 可进行数据检查 4、什么是强内聚弱耦合? 强内聚:许多功能尽量在类的内部独立完成,不让外面干预; 弱耦合:提供给外部尽量少的方法调用。 5、构造函数的功能和特征: 功能: (1)给当前类的对象分配内存 (2)进行初始化 2 特征: (1) 具有与类相同的名称; (2) 不含返回值,不能在方法中用 return 语句返回一个值; (3) 只能在实例化对象时在 new 后调用; (4) 如果没有显式地给一个类定义一个构造函数,系统给它分配默认的无 参的方法体为空的构造函数。 6、this 指什么? this 指当前类的一个当前对象。 7、参数传递的类型和过程? Java 语言在给被调用方法的参数赋值时,只采用传值的方式。所以,基本 类型数据传递的是该数据的值本身,引用类型数据传递的也是这个变量的值本 身,即对象的引用(句柄) ,而非对象本身,通过方法调用,可以改变对象的内 容,但是对象的引用是不能改变的。对于数组,也属于引用类型,将数组对象 作为参数传递。 8、什么时候用 static? 有时候,我们希望无论是否产生了对象或无论产生了多少对象的情况下, 某些特定的数据在内存空间里只有一份时,这时就可以考虑用到 static。 9、static 修饰什么? 静态变量、静态方法、静态代码块。 10、 static 修饰静态方法时需要注意什么? (1)在静态方法里只能直接调用同类中其他的静态成员(包括变量和方法) ,而不能直接访问类中的非静态成员。这是因为,对于非静态的方法和变量, 需要先创建类的实例对象后才可使用,而静态方法在使用前不用创建任何对象。 (2)静态方法不能以任何方法引用 this 和 super 关键字,与上面的道理 一样,因为静态方法在使用前不用穿件任何实例对象,当静态方法被调用时, this 所引用的对象根本就没有产生。 (3)main()方法是静态的,因此 JVM 在执行 main 方法时不创建 main 方法 所在的类的实例对象,因而在 main()方法中,不能直接访问该类中的非静态成 员,必须创建该类的一个实例对象后,才能通过这个对象去访问类中的非静态 成员。 11、面向对象编程的设计步骤 (1)做实体类 (2)在含有主函数的演示类中做一个对象 (3)对象初始化 (4)调用相应的行为状态完成功能要求 3 12、Java 程序设计中如何调用类的成员 (1)成员方法可以无条件直接调用本类的其他成员 (2)其他类中调用一个类的成员时,必须采用“对象.成员”的形式调用 13、成员方法被调用时的执行步骤 (1)首先当被调用的方法有形参时,要先给形参分配内存空间 (2)进行实参到形参的值传递 (3)顺序执行方法体内的语句 (4)释放局部变量的内存空间 14、Return 关键字的两个功能 (1)在方法体内部使用,返回一个“返回值” (2)让函数从当前语句结束执行,返回到主调函数 15、使用匿名对象的两种情况 (1( 如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对 象 (2( 将匿名对象作为实参传递给一个函数调用 16、float 型 float f=3.4 是否正确? 答: 不正确。精度不准确, 应该用强制类型转换,如下所示:float f=(float)3.4 17、注释的类型(或可让学生编写一段代码并写出相应的注释) 单行注释 / 多行注释 /*.*/ 文档注释. /*/ 18、标识符的定义规则 1)标识符要以单词组成,类名首字母大写 2)函数名首字母大写 3)函数名及变量名首字母小写,以后每一个单词的首字母大写 4)包名全部小写 5)常量名全部大写 6)类名和变量主要以名词组成 . 19、JAVA 的变量类型(数据类型) (1)基本数据类型 数值型:整数类型 byte,short,int,long 浮点类型 float,double 字符型 char 布尔型 boolean (2)引用数据类型 类 class 4 接口 interface 数组 20、JAVA 中有几种运算符 1) 算术运算符 2) 赋值运算符 3) 比较运算符 4) 逻辑运算符 5) 移位运算符 21、函数的重载(定义): 函数的重载就是在同一个类中允许同时存在一个以上的同名函数,只要他 们的参数个数,或类型不同即可。 22、什么时候使用内部类 当一个类中的程序代码要用到另外一个类的实例对象而另外一个类中的程 序代码又要访问第 一个类中的成员,就要将另外一个类做成第一个类的内部 类。 23、抽像类的定义规则 (1)抽象类必须用 abstract 关键字来修饰;抽象方法也必须用 abstract 来修饰。 (2)抽象类不能被实例化,也就是不能用 new 关键字去产生对像。 (3)抽象方法只需声明,而不需实现。 (4)含有抽象方法的类必须被声明为抽象类,抽象类的子类必须覆盖所有 的抽象方法后才能被初始化,否则这个子类还是个抽象类。 24、说明 Java 中 public、protected、default、private 四个访问控制修饰的 作用? 答:区别如下: 作用域: 当前类 , 同一 package , 子孙类 , 其他 package public /能被所有类访问 protected /本类和其子类访问, 同一包中的所有类访问 friendly /可以被本类和同一包中的的其他类访问 private /只能在本类中访问 不写时默认为 friendly 25、两种创建线程的方法对比分析法 实现 Runnable 接口相对于继承 Thread 类来说,有如下显著的好处: (1)适合多个相同程序代码的线程去处理同一资源的情况,把虚拟 5 CPU(纯种)同程序的代码、数据有效分离,较好地体现了面向对象的设计思想。 (2)可以避免由于 Java 的单继承特性带来的局限。 (3)有利于程序的健壮性,代码能够被多个线程共享,代码与数据是独立 的。 26、接口实现及特点 (1)实现一个接口就是要实现该接口的所有方法(抽象类除外) 。 (2)接口中的方法都是抽象的。 (3)多个无关的类可以实现同一个接口,一个类可以实现多个无关的接口。 27、多态的四种形式 (1)接口 (2)方法覆盖 (3)方法重载 (4)子类转换父类。 28、继承的特点? (1)通过继承可以简化类的定义 (2)java 支持单继承不允许多重继承 (3)可以有多层继承 (4)子类继承父类的所有成员变量和成员方法,但不继承父类的构造方法。 (5)如果子类的构造方法没有显式的调用父类的构造方法,则系统默认父类 的构造方法 29、子类对象的实例化过程 (1)分配成员的存储空间并进行默认的初始化 (2)绑定构造方法参数。 (3)如有 this()调用,则调用相应的重载构造方法(被调用的构造方法又 从开始执行这些流程) 被调用的重载构造方法的执行流程结束后,回到当前构造方法,当前构造方法 直接跳转到步骤(6)执行 (4)显试或隐试追朔调用父类的构造方法 (5)进行实例变量的显试初始化操作。 (6)执行当前构造方法体中的程序代码 30、垃圾回收的优点和原理。并考虑两种回收机制。 答:Java 语言中一个显著的特点就是引入了垃圾回收机制,使 c+程序员最头 疼的内存管理的问题迎刃而解,它使得 Java 程序员在编写程序的时候不再需要 考虑内存管理。由于有个垃圾回收机制,Java 中的对象不再有“作用域“的概念, 只有对象的引用才有“作用域“。垃圾回收可以有效的防止内存泄露,有效的使 用可以使用的内存。垃圾回收器通常是作为一个单独的低级别的线程运行,不 可预知的情况下对内存堆中已经死亡的或者长时间没有使用的对象进行清楚和 6 回收,程序员不能实时的调用垃圾回收器对某个对象或所有对象进行垃圾回收。 回收机制有分代复制垃圾回收和标记垃圾回收,增量垃圾回收。 31、覆盖方法的访问权限 覆盖方法时,不能使用比父类中被覆盖的方法更严格的访问权限 32、final 关键字的五点 (1)在 java 中的声明类,属性和方法时,可使用关键字 final 来修饰 (2)final 标记的类不能被继承 (3)final 标记的方法不能被子类重写 (4)final 标记的变量只能、赋一次值 (5)方法中定义的内置类只能访问方法内的 final 类型的局部变量。 33、Java 中的变量如何初始化? 本 问 题 讨 论 变 量 的 初 始 化 , 所 以 先 来 看 一 下 Java 中 有 哪 些 种 类 的 变 量 。 1. 类 的 属 性 , 或 者 叫 值 域 2. 方 法 里 的 局 部 变 量 3. 方 法 的 参 数 对 于 第 一 种 变 量 , Java 虚 拟 机 会 自 动 进 行 初 始 化 。 如 果 给 出 了 初 始 值 , 则 初 始 化 为 该 初 始 值 。 如 果 没 有 给 出 , 则 把 它 初 始 化 为 该 类 型 变 量 的 默 认 初 始 值 。 int 类 型 变 量 默 认 初 始 值 为 0 float 类 型 变 量 默 认 初 始 值 为 0.0f double 类 型 变 量 默 认 初 始 值 为 0.0 boolean 类 型 变 量 默 认 初 始 值 为 false char 类 型 变 量 默 认 初 始 值 为 0(ASCII 码 ) long 类 型 变 量 默 认 初 始 值 为 0 所 有 对 象 引 用 类 型 变 量 默 认 初 始 值 为 null, 即 不 指 向 任 何 对 象 。 注 意 数 组 本 身 也 是 对 象 , 所 以 没 有 初 始 化 的 数 组 引 用 在 自 动 初 始 化 后 其 值 也 是 null。 34、若通过 ObjectOutputStream 向一个文件中多次以追加方式写入 object,为 什么用 ObjectInputStream 读取这些 object 时会产生 StreamCorruptedException? 答: 使用缺省的 serializetion 的实现时,一个 ObjectOutputStream 的构 造和一个 ObjectInputStream 的构造必须一一对应.ObjectOutputStream 的构 造函数会向输出流中写入一个标识头,而 ObjectInputStream 会首先读入这个标 识头.因此,多次以追加方式向一个文件中写入 object 时,该文件将会包含多个 7 标识头.所以用 ObjectInputStream 来 deserialize 这个 ObjectOutputStream 时,将产生 StreamCorruptedException.一种解决方法是可以构造一个 ObjectOutputStream 的子类,并覆盖 writeStreamHeader()方法.被覆盖后的 writeStreamHeader()方法应判断是否为首次向文件中写入 object,则调用 super.writeStreamHeader();若否,即以追加方式写入 object 时,则应调用 ObjectOutputStream.reset()方法. 35、Java 中包的概念与作用? Java 中 的 “包 “ 是 一 个 比 较 重 要 的 概 念 , package 是 这 样 定 义 的 : 一 个 包 就 是 一 些 提 供 访 问 保 护 和 命 名 空 间 管 理 的 相 关 类 与 接 口 的 集 合 . 使 用 包 的 目 的 就 是 使 类 容 易 查 找 使 用 , 防 止 命 名 冲 突 , 以 及 控 制 访 问 . 36、Anonymous Inner Class (匿名内部类) 是否可以 extends(继承)其它 类,是否可以 implement

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论