Java简答题.docx
《Java简答题.docx》由会员分享,可在线阅读,更多相关《Java简答题.docx(7页珍藏版)》请在冰豆网上搜索。
Java简答题
Java简答题
1.简述Java语言中包(Package)的概念、意义和基本用法(package和import关键字)
包是Java中区别类的名字的空间机制,是类的组织方式,是一组相关类和接口的集合,包提供了访问权限和命名管理机制。
(1)为了便于管理大型软件系统中数目众多的类,解决类命名冲突的问题,Java引入了包(package)。
提供了类的多重命名空间。
❑package语句必须是文件中的第一条语句。
也就是说,在package语句之前,除了空白和注释之外不能有任何语句。
例如:
packagecom.bjsxt.java140;
❑如果不加package语句,则指定为缺省包或无名包。
❑包对应着文件系统的目录层次结构。
例如:
.\com\bjsxt\java140;
❑在package语句中,用“.”来指明包(目录)的层次。
❑Class文件最上层包的父目录必须位于classpath下
比如:
d:
\java\testpackage
❑运行(class)也要写全包名
比如:
javacom.bjsxt.java139.Dog
❑引入包中的(某个)类。
importjava.io.File;
❑引入整个包(包中所有类)。
importjava.io.*;
❑在同一包中的类可以互相引用,无需import语句。
❑Java.lang中的包是自动加载的,无需import语句。
2.Java中的注释分为几种,请简述
三种类型:
1、单选注释:
符号是:
//
2、块注释:
符号是:
/**/可以跨多行
3、javadoc注释:
符号是:
/***/可以跨多行,生成javadoc时,这样的注释会被生成标准的javaapi注释
3.简述异常的概念、意义和分类以及Java程序中异常处理的基本过程
概念:
Java异常,是Java处理程序运行时出现错误的一种机制,所谓错误,就是程序在运行时出现的错误,如除0溢出,数组下标越界,访问不到文件
意义:
在异常发生时提供处理这些错误的方法,使得程序不会因为异常的发生而中断运行或产生不可预见的结果。
(通过捕获和处理异常,避免程序在执行时,因异常而终止运行或出现不可想象的结果)
Error:
JVM错误,程序不可处理
Exception:
必须捕获,否则编译会报错
过程:
捕获,处理异常
Try{}catch(){}finally{}
(1)
(2)覆盖对方法的访问权限和抛出异常有限制,而重载则没有
4.简述接口、抽象类与具体类的异同
5.面向对象程序设计语言的三种典型特征是什么?
并简要说明
封装:
通过合并特征和行为来创建新的数据类型,用户使用对象时,无需知道内部细节
继承:
新的对象类继承原有对象类的某些特性或全部特性
多态:
同一种行为(方法)在不同对象上有不同动作
封装性(“数据隐藏”+“抽象数据类型”)--capsulation
是指对象的使用者通过预先定义的接口关联到某一对象的服务和数据时,无需知道这些服务是如何实现的。
即用户使用对象时无需知道对象内部的运行细节。
这样,以前所开发的系统中已使用的对象能够在新系统中重新采用,减少了新系统中分析、设计和编程的工作量。
继承性--Inheritance
新的对象类由继承原有对象类的某些特性或全部特性而产生出来,原有对象类称为基类(或超类、父类),新的对象类称为派生类(或子类),派生类可以直接继承基类的共性,又允许派生类发展自己的个性。
继承性简化了对新的对象类的设计。
多态性--Polymorphism
是指不同类型的对象可以对相同的激励做出适当的不同相应的能力。
多态性丰富了对象的内容,扩大了对象的适应性,改变了对象单一继承的关系。
6.简述Java中的访问控制(public、private、protected和default)
访问控制修饰符
同一个类中
同一个包中
派生类中
其他包中
public
√
√
√
√
protected
√
√
√
无访问控制修饰符
√
√
private
√
7.简述Java中关键字this、super的用途及相关特性。
❑可以使用super访问父类被子类隐藏的变量或覆盖的方法。
❑2. super与this的比较
比较
super
this
使用范围
是由子类访问父类中的内容
是直接访问本类中的内容
访问属性时的格式
super.父类属性,如果属性没有被复写,则也可以不写super
this.本类属性
访问方法时的格式
super.父类方法(),如果父类方法没有被复写,则可以不写super也表示调用父类中的方法
this.本类方法(),可以不写this,也表示调用本类的方法
访问构造函数时的格式
super()是访问父类中的构造方法,必须放在首行
this()是访问本类中的其他构造方法(注意留入口!
),必须放在首行
特殊点
无
this表示当前对象,当前操作方法的对象就为当前对象
❑
8.简述Java中的Collection接口和Map接口,并例举出JDK中四种以上实现了二者的具体类。
❑Collection接口定义了存取一组对象的方法,其子接口Set和List分别定义了存储方式。
▪Set中的数据对象没有顺序且不可以重复。
▪List中的数据对象有顺序且可以重复
❑Map接口定义了存储“键(key)-值(value)映射对”的方法。
Collection的其中两个子类:
Set(HashSet)和List(LinkedListArrayList)
Map(HashMap)
9.Java语言中与多态紧密相关的概念有哪些?
简述多态的概念和主要特性、优点
10.简述JavaI/O流的几种分类方式,并写出相应的常用I/O流
(1)按数据流的方向
输入流:
InputStream
输出流:
OutputStream
(2)按处理数据单位不同:
字节流:
FileInputStream
字符流:
StringReader
(3)按功能不同:
节点流:
FileInputStream
处理流:
FilterInputStream
11.简述“成员变量-字段”和“局部变量”、“方法参数”的区别(定义位置、作用域和初始化)
(1)成员变量:
定义在类里(在类里函数之外),可作用在整个类,有默认初始化值,实例化对象后储存在堆中
(2)局部变量:
(在方法体里创建,在方法体外访问不到这个变量。
)
定义在局部范围(如:
函数或语句块里),只能作用在局部范围,没有默认初始化值,一定要初始化,在方法被调用时,存在栈中,方法退出后,它也消失
(3)方法参数
类似于局部变量
12.简述编写并执行一个Java程序的步骤(不使用集成环境),以“HelloWorld.java”为例(不必写出代码)。
(javac和java命令的功能要做简要解释)
(1)打开cmd通过cd命令打开至HelloWorld.java所在的文件下
(2)通过javacHelloWorld.java命令来编译生成对应classs文件
(3)通过javaHelloWorld命令来执行程序(这步区分大小写)
13.简述静态成员和非静态成员的特点和关系
(1)静态成员: