ImageVerifierCode 换一换
格式:DOCX , 页数:18 ,大小:28.38KB ,
资源ID:24349602      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/24349602.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java基础知识思考题.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java基础知识思考题.docx

1、java基础知识思考题java思考题1、 缩写JDK的含义是什么。JDK 是Java开发工具包 (Java Development Kit ) 的缩写。它是一种用于构建在 Java 平台上发布的应用程序、applet 和组件的开发环境。其中包括了Java编译器、JVM、大量的Java工具以及Java基础API里面是Java类库和Java的语言规范,同时Java语言的任何改进都应当加到其中,作为后续版本发布。要成为一名程序员,JDK是一种最基本的工具。(JDK是Java development toolkit,相当于是Java的库函数,是编译,运行java程序的工具包。)2、 解释Java语言跨

2、平台的技术基础。因为Java程序编译之后的代码不是能被硬件系统直接运行的代码,而是一种“中间码”字节码。然后不同的硬件平台上安装有不同的Java虚拟机(JVM),由JVM来把字节码再“翻译”成所对应的硬件平台能够执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java可以跨平台。 3、 什么是Java语言的自动垃圾收集。4、 说明J2SE、J2ME、J2EE各自的含义。J2EE是Java 2 enterprise edition是Java的一种企业版用于企业级的应用服务开发J2SE是Java 2 standard edition是Java的标准版,用于标准的应用开发J2M

3、E是Java 2 Micro Edition是Java的微型版,常用于手机上的开发J2EE,J2SE,J2ME是java针对不同的的使用来提供不同的服务,也就是提供不同类型的类库。5、 Java的包是什么含义,有哪些作用。包就是用来装不同java源文件和类文件的文件夹。 作用有两个:一个是防止重名现象,还有一个是隐藏具体实现。 6、 J2SE 类库中包含哪些主要的包(即java.*)。langutilioawtjava.lang包在所有的JAVA API类库中,java.lang包是最重要的,它提供了JAVA语言的核心类库,包含了运行JAVA程序必不可少的系统类,如:基本数据类型、基本数学函数

4、、字符串处理、线程管理和异常处理类等。运行JAVA程序时,系统会自动加载java.lang包,既这个包的加载是默认的。java.io包 java.io包提供了一系列用来读写文件或其他的输入输出流。其中有基本输入/输出类、缓存流类、比特数组与字符串流类、数据流类、文件流类、管道类、流连接类和异常类等。java.util包 java.util包提供了JAVA语言中的一些低级的实用工具,如数据结构类、日期类、随机数类、属性类、观测类和异常类等。java.awt包 java.awt包是JAVA语言用来构建图形用户界面(GUI)的类库,包括许多界面元素和资源。java.awt包提供JAVA语言中的图形类

5、、组成类、容器类、排列类、几何类、事件类和工具类等。包包包含一些与网络相关的类和接口,以方便应用程序在网络上传输信息。如主机名解析类、实现套接字通信的Socket类和ServerSocket类、资源定位器(URL)类等。java.applet包 java.applet包是用来实现运行于Internet浏览器中的JAVA APPLET的工具类库。它包含于产生Applet的类和用于Applet通信的类。Applet类称为小应用程序类,通常所说的Applet程序必须集成该类,Applet是一种专门化的面板,需要潜入到HTML网页中,由与JAVA语言兼容的浏览器执行。java.awt.event包 j

6、ava.awt.event包是对JDK 1.0版本中原有的Event类的一个扩充,它使得程序可以用不同的方式来处理不同类型的事件,该包中定义了许多不同类型的事件监听器类,使每个图形界面元素本身可以处理它上面的事件。7、 Java中关于类、成员变量、成员方法有哪些典型的命名规范。一切自定义名字的都是标识符,以字母下划线或者美元标志开头类:每个单词的首字母大写方法:方法名第一个单词小写,从第二个单词开始首字母大写变量:变量和方法命名一样常量:都用大写 8、 Java的源文件结构一般分那些部分。Java程序的源文件有三种,后缀名分别是.java,.class和.jar。9、 Java类的结构包含哪几

7、个部分。import类声明构造函数变量定义方法10、 写出Main函数的原型,说明每项的含义。publicstaticvoidmain(Stringargs)public公有static静态 void无返回类型main()方法名Stringargs一个String的参数11、 Java语言的三种注释语法形式及其用法。三 种 类 型 如 下: /注 释 一 行 /*一 行 或 多 行 注 释*/ /*文 档 注 释*/ 文 档 注 释 一 般 放 在 一 个 变 量 或 函 数 定 义 ?reg; 前,指 示 在 任 何 自 动 生 成 文 档 系 统 中 调 入。12、 Jar文件一般是做什么

8、的?jar是java中用来对java文件进行打包的,类似于zip文件(其实他的压缩编码方式和zip是一样的)。一般来说,jar文件是用来发布java程序的,将编译得到的class文件压缩成一个文件,利于管理,也方便使用,java的库文件大都是采用jar 方式发布的.13、 Java的编译和解释都作了什么? Java既可以被编译,也可以被解释。通过编译器,可以把Java程序翻译成一种中间代码 - 称为字节码 - 可以被Java解释器解释的独立于平台的代码。通过解释器,每条Java字节指令被分析,然后在计算机上运行。只需编译一次,程序运行时解释执行。 14、 环境变量的作用是什么?path起什么作

9、用?classpath呢? 只有设置环境变量才能执行 javac 及java语句path是你编写的原文件的地址 从path中找原文件 编辑后放在pathclass里classpath是 执行javac后 .class 文件存放的地址(系统通过环境变量可以找到JAVA的执行文件,一些classpath对应的JAR包 。可以这么理解JAVA起的JVM可以理解是一个小型的OS,所有的程序资源分配和获取系统硬件信息都是通过JVM走底层的包(可能是JAVA程序或者C)与系统进行交互。 同样你也可以给JVM传递一些参数,也就是所谓JVM级别的环境变量。 通常是 DXXX.XXX ,然后你就可以在应用中直接

10、取XXX.XXX 。 同样一般的系统都会支持一些内核参数 , JVM默认的“内核参数”有Xms Xmx NewSize MaxNewSize PermSize MaxPermSize , Rialto , Xss等等。)15、 使用JDK怎样编译和运行程序?配置环境变量(win xp系统):右键点击我的电脑-属性-高级-环境变量1.在系统变量栏点新建,出现新建系统变量对话框变量名填JAVA_HOME变量值填C:Program FilesJavajdk1.5.0_06(你安装的位置.随版本不同而不同)2.再新建一个变量名填classpath变量值填.;%JAVA_HOME%libdt.jar;%

11、JAVA_HOME%libtools.jar3.然后在系统变量栏找到变量为Path的选项,点编辑在变量值的末尾添加;%JAVA_HOME%bin;16、 JBuilder的工程中有哪些典型的子目录,各自存储什么?Bak子目录,即Java后备文件夹,存放每一次Java更新后的结果。Classes子目录,即Java类文件夹,存放所有Java类的字节码。Src子目录,存放最近一次更新的Java源程序。 17、 Java的基本数据类型有哪些?Java编程语言定义了八个原始数据类型(非类类型)和一种特殊类型(类类型)。原始类型可分为四种:逻辑类型 boolean字符类型 char 整数类型 byte、s

12、hort、int、long浮点类型 double、float(* 简单数据类型:简单数据类型是不能再简化的、内置的数据类型,由编程语言定义,表示真实的数字、字符和整数。例如实数、整数、字符和布尔值。 * 复合数据类型:由简单数据类型的组合形成的更大、更复杂的数据类型。例如类、接口和数字。)18、 几个整型类型的编码长度和取值范围如何?Integer LengthName or TypeRange8 bitsbyte-2 7 . 2 7 -116 bitsshort-2 15 . 2 15 -132 bitint-2 31 . 2 31 -164 bitslong-2 63 . 2 63 -11

13、9、 查找IEEE754的浮点数格式编码规范。20、 Java语言怎样书写16进制数。数字0-9和字母a-f(或其大写A-F)表示0到15这些数,必须在十六进制数之前冠以0x。21、 &和&两个运算符的区别。&是逻辑运算符,两边只能是布尔值,有短路特性。&是位运算符,两边可以是布尔值也可以是数字,没有短路特性。22、 引用和非引用(简单类型)变量的区别。(对象:是按照“类”这个模板建立的,建立的位置则是内存例如A是一个类。A X则是创建一个引用变量,X=NEW A()则是在内存中建立一个对象(开辟了1片空间),对象的模板就是A(可以理解为在空间里复制了A类里的变量到空间里去。此时就可以使用引用

14、变量X去引用对象中的变量了。)23、 字符串类有哪些主要的方法。字符串类的常用方法长度length()相等比较equals()大小比较compareTo()连接concat()子串substring()单个字符charAt ()查找子串indexOf()替换replace()24、 =与equals的区别。是指引用是否相同,equals()是指值是否相等。(equals()是Object里的方法,任何对象都继承Object)25、 使用new操作符创建对象的过程。 对象创建类的实例化,使用new操作符,创建对象并赋给前面的引用。如:Point p1=new Point ();虽然分为两步,p1

15、只是Point对象的引用,但习惯性还是称p1为Point对象。因为Java中表达对象的方法只有引用这一种,不像C+,有变量和指针两种。26、 静态成员变量、实例变量、局部变量分别是何时创建、何时销毁的?局部变量定义在函数体内,函数被调用时,局部变量才临时的被创建,函数执行完后,局部变量自动被销毁;(全局变量是定义在整个程序空间内的,在开始运行程序时被创建,整个程序执行完了才会销毁;)静态成员变量的生命周期取决于类的生命周期,当类被加载的时候,静态变量被创建并分配内存空间,当类被卸载时,静态变量被摧毁,并释放所占有的内存;类的每一个实例都有相应的实例变量,每创建一个类的实例,java虚拟机为实例

16、变量分配一次内存,实例变量位于堆区中,实例变量的生命周期取决于实例的生命周期,当创建实例时,为实例变量背创建,并分配内存,当实例被销毁时,实例变量被销毁,并释放所占有的内存空间。 (类的成员变量有两种:一种是被static关键字修饰的变量,叫类变量或静态变量,一种是没有被static修饰的,叫做实例变量 静态变量和实例变量的区别在于: 类静态变量在内存中只有一个,java虚拟机在加载类的过程中为静态变量分配内存,静态变量位于方法区,被类的所有实例共享,静态变量可以通过类名直接访问。静态变量的生命周期取决于类的生命周期,当类被加载的时候,静态变量被创建并分配内存空间,当类被卸载时,静态变量被摧毁

17、,并释放所占有的内存。 类的每一个实例都有相应的实例变量,每创建一个类的实例,java虚拟机为实例变量分配一次内存,实例变量位于堆区中,实例变量的生命周期取决于实例的生命周期,当创建实例时,为实例变量背创建,并分配内存,当实例被销毁时,实例变量被销毁,并释放所占有的内存空间。 假如成员变量时引用变量,该成员变量结束生命周期时,并不意味着它所引用对象也结束生命周期。变量的生命周期和对象的生命周期是不同的概念。)(局部变量是在函数或方法中的变量,实例变量指的是类的一个实例,就是一个对象, 成员变量就是类中的变量(不是方法中的变量!), 类变量是类中的静态变量。局部、实例、成员变量的作用域和生存周期

18、同局部变量一样(局部变量在定义他们的函数时被创建,而且都在该函数结束时被销毁。),而类变量如果用public声明则作用域同全局变量,如果是private则作用域只在类的内部,生存周期同全局变量.成员方法和类方法跟局部变量和类变量的关系一样.)(局部变量 定义在函数内部的变量称为局部变量(也可以叫内部变量),其作用域为块作用域,即只允许定义该变量的块中语句访问该变量。更准确地说,块作用域的范围是从变量定义处开始,到块的结束处为止。这里所说的块主要是指复合语句。因此,定义于一复合语句中的变量,不但其他函数不能访问,该复合语句以外的语句也不能访问,即便是同一复合语句中的语句,如果它位于变量定义处之前

19、,也不能访问该变量(一样遵循先定义后使用的原则)。这就是“局部”的含义。关于局部变量的作用域还要说明以下几点: 1主函数main()中定义的内部变量,也只能在主函数中使用,其它函数不能使用。同样,主函数也不能使用其它函数中定义的内部变量。因为主函数也是一个函数,与其它函数是平行关系,应予以注意。2形参变量是局部变量,作用域在被调用函数内。3允许在不同的函数中使用相同的变量名,它们代表不同的对象,分配不同的单元,互不干扰,也不会发生混淆。 )(全局变量 在函数外部定义的变量称为全局变量(也可以叫外部变量)。用于记录应用系统的全局信息,也是函数之间交换数据信息的媒介。以此类推,在函数外部定义的数组

20、就称为全局数组。 全局变量不属于任何一个函数,其作用域是:从全局变量的定义位置开始,到本文件结束为止。对于全局变量还有以下几点说明: (1)全局变量可加强函数模块之间的数据联系,但又使这些函数依赖这些全局变量,因而使得这些函数的独立性降低。从模块化程序设计的观点来看这是不利的,因此不是非用不可时,不要使用全局变量。 (2)在同一源文件中,允许全局变量和局部变量同名。在局部变量的作用域内,全局变量将被屏蔽而不起作用。当然系统不会混淆,并不意味着人也不会混淆,所以应该尽量少用同名变量。 (3)全局变量的作用域是从定义点到本文件结束。如果定义点之前的函数需要引用这些全局变量时,需要在函数内对被引用的

21、全局变量进行说明。)27、 什么样的方法适合定义成静态方法(即类方法)?在使用的时候,不需要实例化,直接使用类名.方法名;使用频率较高的方法 用关键字 static定义为静态方法,组织在一个类中,静态方法jvm启动后直接加载在内存中,提高访问效率 。如果方法执行过程中不使用对象的属性(也就是非静态成员变量),只是用静态成员变量或者参数传入的信息,这时候方法的处理与对象无关,所以可以设置成静态方法,也应该设置成静态方法。(什么样的方法适合定义成静态变量?如果一个成员变量的修改不依赖于任何一个对象个体的数据,那么它就应该是静态的。如果一个成员变量除了变量初始化代码从来没有被修改过,或者在整个系统中

22、只有一次与对象其它数据无关的修改,那么它就应该是终止的,必然也是静态的。)28、 子类、父类对象之间的赋值关系如何?子类对象可以直接赋值给父类对象,实际对象没有任何变化,不过是后者引用了新的对象而已。但父类对象赋值给子类对象必须进行强制类型转换,而且运行时候还会进行实际的类型检查,类型不匹配将抛出异常。29、 有不可继承的成员变量或成员方法吗?没有子类继承父类的所有方法和变量(属性)private的变量(属性)和方法能被继承不能被引用、访问30、 什么是方法重载、覆盖?如果在子类中重写了一个与父类中函数原型完全相同的方法,则称为方法覆盖。如果一个类中有相同名字的方法,称为方法重载,且这些同名方

23、法必须在参数的类型及次序上有所不同。(返回值类型不起作用。)31、 This和super的用法有哪些。(this引用关键字this是用来引用当前对象的当然是在类的内部。在类的定义中,使用形式化的成员变量表示将来执行时候的实际对象成员,如果需要整体形式化地引用将来的对象,就可以使用this。“当前对象”是一种站在方法执行的思考角度描述的方式。this常用在名字冲突(成员名字和方法参数或局部变量名字相同)或参数传递时候。虽然也是在类的内部调用构造方法的一种形式,但关键字相同但含义不同,且仅限于安排在一个构造方法的首行。super引用super代表着当前对象的父类身份。如果在以this身份访问从父类

24、继承下来的成员上出现麻烦(一般是同名所带来的问题),可以通过它访问父类的成员。(也仅限于可见成员)。super也可以用作实参。虽然也是前述父类构造方法的调用形式,但关键字相同但含义不同,且仅限于安排在一个构造方法的首行。)this引用关键字this是用来引用当前对象的当然是在类的内部。this常用在名字冲突(成员名字和方法参数或局部变量名字相同)或参数传递时候。super引用super代表着当前对象的父类身份,通过它访问父类的成员。super也可以用作实参。32、 抽象类有哪些特征规定?abstract类(抽象类),必须被继承的类,它不能被实例化。如果一个类包含有抽象方法,它必须被定义为抽象类

25、。33、 抽象方法有哪些特征规定?abstract方法(抽象方法),如果一个方法必须被子类覆盖,可以定义抽象方法。 34、 终止类、终止方法?终止类(final)定义终止类,表示不能被继承。终止方法(final)定义终止方法,使其不能被子类覆盖。(终止变量定义终止变量,使其除了初始化之外,不可以再被改变值。相当于常数变量。)35、 实例方法和类方法各是什么含义? (实例变量(instance variable):或叫实例域、实例字段(instance field),或叫成员变量(member variable)。实例的变量,每个实例的变量可能不同。 实例方法(instance method):

26、或叫成员方法(member method)。供实例用的方法,必须要先有实例,才能通过此实例调用实例方法。 类变量(class variable):或叫静态域、静态字段(static field),或叫静态变量(static variable)。出现在这样的情况下:一个类的所有实例需要一个公有的属性,比如,一,统计实例个数;二,常量。类变量与类直接关联在一起。内存当中只有一个地方存放这个变量。任何实例都可以修改它的值(前提是它没有被final修饰符修饰,不然就是常量),但是,访问类变量并不需要实例,用类就可以操作了。 类方法(class method):跟类变量的基本特点一样。供类用的方法,可以

27、没有实例,直接通过类来调用类方法。类方法(class method):跟类变量的基本特点一样。供类用的方法,可以没有实例,直接通过类来调用类方法。 从形式上看,类变量和类方法,比一般的变量和方法多了一个static修饰符。因为这个原因,类变量和类方法也被叫做静态变量和静态方法。 它们的使用方法: 实例方法可以直接访问实例变量,调用实例方法; 实例方法可以直接访问类变量,调用类方法。但不推荐这么做,原因是不清晰,容易把类变量误认为是实例变量,把类方法误认为是实例方法(借助IDE,它会给出警告信息。); 类方法可以直接调用类变量和类方法; 类方法不能直接调用实例变量和实例方法; 类方法里面不能使用

28、“this”关键字,因为没有实例存在,“this”不知道引用哪个实例。)实例方法(instance method):或叫成员方法(member method)。供实例用的方法,必须要先有实例,才能通过此实例调用实例方法。类方法(class method):跟类变量的基本特点一样。供类用的方法,可以没有实例,直接通过类来调用类方法。供类用的方法,可以没有实例,直接通过类来调用类方法。36、 实例变量和类变量各是什么含义?实例变量(instance variable):或叫实例域、实例字段(instance field),或叫成员变量(member variable)。实例的变量,每个实例的变量可

29、能不同。类变量(class variable):或叫静态域、静态字段(static field),或叫静态变量(static variable)。出现在这样的情况下:一个类的所有实例需要一个公有的属性,比如,一,统计实例个数;二,常量。类变量与类直接关联在一起。内存当中只有一个地方存放这个变量。任何实例都可以修改它的值(前提是它没有被final修饰符修饰,不然就是常量),但是,访问类变量并不需要实例,用类就可以操作了。37、 接口有哪些特征?和继承的区别?Java中应该也是不支持多继承的,也就是说一个类只能有一个父类,但一个类可以同时继承多个接口.(这里只作参考,本人不是做Java的)继承是一

30、种编程思想,接口是一种编程方法,两者没得比.你问得是不是类与接口的区别.类与接口的区别在于,类可以拥有自己的实现,接口则不能,它包含的只是一些约定,另外,接口永远不能被实例化.38、 包装类有哪些?主要用途?八个包装类,分别是Boolean、Byte、Character、Short、Integer、Long、Float和Double,Java为基本类型提供包装类,这使得任何接受对象的操作也可以用来操作基本类型。java语言建立这8个类,除了体现一下完全面向对象的语言特点之外,解决了一些小的问题,如数集中最大最小等数的常量标志符定义问题、数与串的转换问题、简单数据的对象化问题等等。(直接将简单类

31、型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。经过包装的类,功能比原来增强,或者优化性能。比如在io操作中,就有许多包装类.包装类主要通过“组合”的方式实现扩展。)39、 对象销毁的方法是什么?该方法内部一般安排什么内容?在Java语言中拥有一套完整的对象垃圾回收机制。即程序开发人员不需要手工的回收废弃的对象。垃圾回收器将回收无用对象所占用的内存资源。不过这个垃圾回收器并不是万能的,需要结合其他的对象回收方式,才能够最终解决这个对象回收的问题。在Java中,总共有三种方式可以用来解决对象回收的问题:一、垃圾回收器垃圾回收器是Java平台中用的最频繁的一种对象销毁方法。垃圾回收器会全程侦测Java应用程序的运行情况。当发现有对象成为垃圾时,垃圾回收器就会销毁这些对象,并释放这些对象所占用的内存空间。在这里,程序开发人员需要知道,在哪些情况下垃圾回收器会认为这些对象

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1