java考试复习重点资料
JAVA期末复习知识点整理

JAVA期末复习知识点整理Java知识点整理Java的工作原理Java采用Unicode编码。
Java应用程序的结构包括package语句、import语句和类的定义。
package语句是程序的第一条语句,它指明编译后的字节码文件(.class)存放的位置。
import语句用于导入所需的其他类,必须放在package之后、class之前。
每个类都有类名,花括号括起的部分为类体。
Java程序由类构成,每一个类的类体中可以包含多个成员方法。
Java程序大小写是敏感的,语句的分割用分号,“//”为行注释。
标识符合法判断Java语言规定标识符由字母、下划线、$和数字组成。
标识符应以字母、下划线、美元符$开头,不能以数字开头。
标识符区别大小写,标识符长度不限,但是实际命名不宜过长。
标识符不能与关键字同名。
Java命名规范:包应由小写字母组成,例如:com.sun.eng。
类应由一个或几个单词组成,每个单词的第一个字母大写。
类名一般使用完整单词,避免缩写词(除非该缩写词被更广泛使用,像URL,HTML)。
接口与类相同,可以使用形容词词缀,例如Runnable。
Comparable。
方法除第一个字母小写外,和类、接口的命名规则一样。
全局变量和局部变量的命名与类、接口的命名规则相同,但可以使用简写,例如i,j,temp,maxNumber。
常量由一个或多个被下划线分开的大写单词组成,例如:PAGE_SIZE。
Java数据类型的划分:整数有三种表示形式:十进制整数,例如123,-456;十六进制整数,以0x或0X开头,例如0x123,-0X12;八进制整数,以0开头,例如012,-027.如果要表示长整型数,可以在数字的后面加上L或l,例如125L。
浮点类型的数据有两种表示形式:十进制数形式,由数字和小数点组成,例如0.123.1.23.123.0;科学计数法形式,例如123e3或123E3.如果表示float型的数据要在数字后加f或F,例如1.23f;表示double型的数据在数字后面加d或D,例如2.3d,带小数点的数默认就是双精度浮点型,d可以省略。
JAVA知识点复习大全

JAVA知识点复习大全JAVA知识点复习大全int 和Integer 有什么区别Java 提供两种不同的类型:引用类型和原始类型(或内置类型)。
Int是java的原始数据类型,Integer是java为int提供的封装类。
Java为每个原始类型提供了封装类。
原始类型封装类boolean Booleanchar Characterbyte Byteshort Shortint Integerlong Longfloat Floatdouble Double引用类型和原始类型的行为完全不同,并且它们具有不同的语义。
引用类型和原始类型具有不同的特征和用法,它们包括:大小和速度问题,这种类型以哪种类型的数据结构存储,当引用类型和原始类型用作某个类的实例数据时所指定的缺省值。
对象引用实例变量的缺省值为null,而原始类型实例变量的缺省值与它们的类型有关。
String 和StringBuffer的区别JA V A平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据。
这个String类提供了数值不可改变的字符串。
而这个StringBuffer类提供的字符串进行修改。
当你知道字符数据要改变的时候你就可以使用StringBuffer。
典型地,你可以使用StringBuffers来动态构造字符数据。
运行时异常与一般异常有何异同?异常表示程序运行过程中可能出现的非正常状态,运行时异常表示虚拟机的通常操作中可能遇到的异常,是一种常见运行错误。
java编译器要求方法必须声明抛出可能发生的非运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。
说出Servlet的生命周期,并说出Servlet和CGI的区别。
Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动派遣运行与请求对应的doXXX方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy方法。
java基础复习资料

java基础复习资料Java是一门广泛应用于软件开发领域的编程语言,它具有跨平台、面向对象、可移植性强等特点,因此备受开发者青睐。
对于初学者来说,掌握Java的基础知识是打好编程基础的关键。
本文将为大家提供一些Java基础复习资料,帮助大家系统地回顾和巩固所学内容。
一、Java语言基础1. 数据类型:Java提供了多种数据类型,包括基本数据类型和引用数据类型。
基本数据类型包括整型、浮点型、字符型和布尔型,而引用数据类型则包括类、接口、数组等。
复习时可以回顾各种数据类型的定义、范围和使用方法。
2. 运算符:Java提供了丰富的运算符,包括算术运算符、赋值运算符、比较运算符、逻辑运算符等。
复习时可以结合实际例子,加深对运算符的理解和使用。
3. 控制流程:掌握Java的控制流程是编写程序的基础。
复习时可以重点关注条件语句(if-else语句、switch语句)、循环语句(for循环、while循环、do-while循环)以及跳转语句(break语句、continue语句)等。
二、面向对象编程1. 类和对象:Java是一门面向对象的语言,类是Java程序的基本组成单元,对象则是类的实例。
复习时可以回顾类的定义、构造方法、成员变量和成员方法等概念,以及对象的创建和使用方法。
2. 继承和多态:继承是面向对象编程的重要特性,它可以实现代码的重用和扩展。
复习时可以回顾继承的定义、继承关系的建立、super关键字的使用等。
多态是继承的一种表现形式,它可以提高代码的灵活性和可扩展性。
3. 封装和抽象:封装和抽象是面向对象编程的重要原则,它们可以提高代码的安全性和可读性。
复习时可以回顾封装的概念、访问修饰符的使用、getter和setter方法的编写等。
抽象是一种将类的共性提取出来的方法,可以通过抽象类和接口来实现。
三、异常处理1. 异常的概念:异常是程序在执行过程中可能出现的错误或异常情况。
复习时可以回顾异常的分类、异常处理的机制以及try-catch语句的使用。
JAVA期末复习知识点整理

a = new int[2]; // a[0] = 4; a[1] = 7;
String []s = new String[2]; // s[0] = new String("Good"); s[1] = new String("bye"); 遍历 多维数组(以二维数组为例) 定义:类型 数据名 [ ][ ]; 或类型 [ ][ ]
d 或 D,如 2.3d ,带小数点的数默认就是双精度浮点型,
可以省略。 布尔类型:布尔型数据只有两个值: 7. 数据类型转换 自动类型转换:基本数据类型间的优先关系(从低到高)如下: char -> int -> long -> float -> double 强制类型转换,例如: int i = 12; byte b = (byte)i; // 其他类型转换 字符串转换为数字 例如: Integer.parseInt(String s)// 数字转换为字符串 Byte.toString(byte b) 也可以使用字符串类的 变量 ) 。 还可以用空字符串连接数字,将数字转换为字符串。如: 8. 数组定义与引用,初始化、下标越界;遍历 一维数组 定义:类型 数组名 [ ]; 或类型 [ ] 数组名 ; 其中,类型可以为 Java 中任意的 ""+25 。 :字节型转换为字符串。 valueOf 方法: String.valueOf( 各种类型的数值 转换为整型的数值 把 int 型变量 i 强制转换为 byte 型 byte -> short -> true 和 false ,在内存中占用 4 个字节。
main 方法说明的格式是特 。一个应用程序只有一个类包
方法用于在标准输出设备(屏幕)上输出数据。 // ”为行注释。
java复习资料

java复习资料Java复习资料Java是一种广泛使用的编程语言,被广泛应用于各种软件开发领域。
对于学习和掌握Java语言的人来说,复习资料是非常重要的。
本文将介绍一些Java复习资料的来源和内容,帮助读者更好地准备复习。
一、官方文档Java的官方文档是学习Java的必备资料之一。
官方文档详细介绍了Java的语法、类库、工具等方面的知识,是Java开发者的权威参考。
官方文档提供了完整的Java API文档,可以查找各个类和方法的详细说明,以及示例代码。
此外,官方文档还提供了Java语言规范和Java虚拟机规范等技术文档,对于理解Java的底层原理和机制非常有帮助。
二、教材和教程除了官方文档,还有许多优秀的教材和教程可以帮助学习者复习Java知识。
经典的Java教材有《Thinking in Java》、《Effective Java》等,这些教材从不同的角度深入浅出地介绍了Java的各个方面。
此外,还有一些在线教程,如Oracle官方的Java教程、W3School的Java教程等,这些教程结构清晰,内容详细,适合初学者和有一定基础的学习者。
三、编程练习复习Java的过程中,编程练习是非常重要的。
通过实际动手编写代码,可以加深对Java语言的理解,并锻炼编程能力。
有许多在线编程平台提供了Java编程练习的题目和评测系统,如LeetCode、HackerRank等。
这些平台提供了大量的编程题目,涵盖了Java的各个方面,可以根据自己的水平选择适合的题目进行练习。
四、开源项目参与开源项目是提高Java编程能力的一种有效方式。
通过参与开源项目,可以学习到其他开发者的优秀代码和开发经验,提高自己的编码能力和工程实践能力。
GitHub是一个开源项目托管平台,上面有许多优秀的Java开源项目,可以选择自己感兴趣的项目进行学习和贡献。
五、技术博客和社区技术博客和社区是学习Java的宝贵资源。
在技术博客上,有许多Java开发者分享自己的经验和技巧,可以从中学习到很多实用的知识。
(完整word版)《java程序设计》复习资料

JA V A程序设计复习资料选择题答题要求:单选题,每题只有一个正确答案,选择正确给分,不正确不给分。
1、下面( A )数据类型可用于main()方法中传递的参数A、StringB、IntegerC、BooleanD、Variant2、以下的选项中能正确表示Java语言中的一个整型常量的是( B )A、12.B、—20C、1,000D、4 5 63、下列的变量定义中,正确的是( D )A、boolean b1=”true”;B、float x=6.6;C、byte i=200;D、double y;4、在屏幕上显示的消息正确的语句是( A )A、System。
out。
println("I am Java Expert”);B、system.out。
println(”I am Java Expert”);C、System。
Out.Println(”I am Java Expert”);D、System.out。
println('I am Java Expert');5、下面( B )命令可用于编译Java程序A、javaB、javacC、appletviewerD、javadoc6、Java编译器会将Java程序转换为( A )A、字节码B、可执行代码C、机器代码D、以上所有选项都不正确7、以下字符常量中不合法的是( C )A、'@'B、'&'C、”k”D、'整’8、以下的选项中能正确表示Java语言中的一个double型常量的是( C )A、Float.MIN_VALUEB、1。
8e-6FC、2。
0D、’abc'9、以下的变量定义语句中,合法的是( C ).A、float $_*5= 3。
4F;B、byte b1= 15678;C、int $abc=5;D、int class=5;10、在一个类中定义的成员变量和成员方法时,不允许( A )。
《JAVA设计模式》期末考试复习资料
《JAVA设计模式》复习资料一、单项选择题1.设计模式起源于()A、机械设计B、建筑工程设计C、水利工程设计D、工业电力化设计2.“不要和陌生人说话”是()原则的通俗表述。
A、接口隔离B、里氏替换C、依赖倒置D、迪米特3.目前常见的设计模式主要有()种。
A、23B、21C、32D、284.以下关于单一职责原则的叙述不正确的是()。
A、单一职责原则的英文名称是Single Responsibility Principle.B、单一职责原则要求一个类只有一个职责C、单一职责原则有利于对象的稳定,降低类的复杂性D、单一职责原则提高了类之间的耦合性5.以下关于依赖倒置原则的叙述不正确的是()A、依赖倒置原则的简称是DIPB、高层模块不依赖于低层模块,低层模块依赖于高层模块C、依赖倒置原则中高层模块和低层模块都依赖于抽象D、依赖倒置原则实现模块间的松耦合6.下面关于单例模式说法错误的是()A、单例模式是指一个类只有一个实例B、单例类从实现方式上分为懒汉式和饿汉式C、单例类从功能上分为状态单例类和无状态单例类D、可以通过继承的方式对单例类进行扩展得到功能更丰富的单例类7.下面关于工厂方法模式说法错误的是()。
A、工厂方法模式使一个类是实例化延迟到其子类中B、工厂方法模式中具有抽象工厂、具体工厂、抽象产品和具体产品4个角色C、工厂方法模式可以处理多个产品的多个等级结构D、工厂方法模式可以屏蔽产品类8.在以下情况不适合使用责任职责链模式()A、有多个对象可以处理请求,哪个对象处理该请求在运行时刻自动确定。
B、在需要用比较通用和复杂的对象指针代替简单的指针的时候。
C、你想在不明确指定接收者的情况下,向多个对象中的一个提交一个请求。
D、一个请求需要一系列的处理工作。
9.当我们想创建一个具体的对象而又不希望指定具体的类时,可以使用()模式A、结构型B、创建型C、行为型D、以上都可以10.以下用来描述适配器模式的是()A、表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。
计算机等级考试二级Java重要知识点实用1份
计算机等级考试二级Java重要知识点实用1份计算机等级考试二级Java重要知识点 1计算机等级考试二级Java重要知识点1.栈:先进后出。
栈是限定在表的一端进行插入和删除操作的线性表,允许插入和删除的一端叫做“栈顶”,不允许插入和删除的一端叫做“栈底”。
2. 队列:先进先出。
3. 根据数据结构中各数据元素之间的复杂程度,将数据结构分为线性结构与非线性结构两类。
4. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构。
5. 循环队列中元素的个数是由队头指针和队尾指针共同决定,动态变化也是通过队头与队尾指针来反应。
6. 二分查找,最坏情况下需要比较的次数是O(log2n)。
7. 顺序存储结构的存储一定是连接的,链式存储结构的存储空间不一定是连接的。
8. 在软件开发中,需求分析阶段常使用的工具是数据流图(DFD)、数据字典(DD)、判断树和判断表。
9. 在数据管理技术发展的三个阶段:人工管理阶段、文件系统阶段和数据库系统阶段中,数据共享最好的是数据库系统阶段。
10. 在实际应用中,最常用的连接是一个叫自然连接的特例。
它满足下面的条件:两关系间有公共域,通过公共域的相等值进行连接。
11. Java语言的垃圾回收机制的一项是内存跟踪。
12. 不使用保留字可以使用只有在定义该类的包中的其他类才能访问该类。
13. 表达式中正确的是x++或++x,不能对表达式和数字运用自增与自减。
14. 在Java中所有类的根类是ng.Object。
15. 在Java中,用package语句说明一个包时,该包的层次结构必须是与文件目录的层次相同。
16. 在读字符文件时,使用该文件作为参数的类是FileInputStream。
Buffered__是处理缓冲流,只为提速,不处理文件流。
Data__类是处理字节流的。
17. 构造方法的调用方式中,只能通过new自动调用。
18. FlowLayout是Panel和Applet默认的布局管理器,构件在容器中从上到下,从左到右进行放置。
《JAVA程序设计》期末考试复习资料
《JAVA程序设计》期末考试复习资料一、填空题1.定义类的保留字是( class ),定义接口的保留字是( interface )。
2.Socket通常也称为 (套接字 ),用于描述( IP地址 ) 和 ( 端口 )。
3.线程的优先级在( 1 )至( 10 )之间,数值越大( 任务越紧急 )。
4.构造方法是一种特殊的成员方法,构造方法名与( 类名 ) 相同。
5.Java语言只允许单继承,指每个类只能有一个 ( 父类)。
6.Java源程序的扩展名是(.java ),经过编译后的程序的扩展名是( .class )。
7. 在一个时间只能由一个线程访问的资源称为 ( 临界资源 ) 。
访问临界资源的代码(临界代码 )。
8. 在多线程系统中,多个线程之间有 ( 同步 ) 和 ( 互斥 ) 两种关系。
1、如果将类MyClass声明为public,它的文件名称必须是(MyClass.java)才能正常编译。
2、Java程序中的单行注释符是(//),多行注释符是(/* */ )。
3、Java中布尔类型的常量有两种,它们是(true)和(false)。
4、Java中用于定义小数的关键字有两个:(float)和(double),后者精度高于前者。
5、Java中用于两个数相等比较的运算符是:(==),用于不相等比较的运算符是(<>)。
6、在Java中定义一个字符串类型的变量str的语句是:(String str;),定义一个具有10个元素的整型数组a的语句是:(int [ ] r = new int[10];)。
7、导入mypackage包中的所类的命令是(import mypackage.*;)。
8、当声明一个数组int arr[] = new int[5]; 时,这代表这个数组所保存的变量类型是(int),数组名是(arr),数组的大小为(5),数组元素下标的使用范围是(0到4)。
9、假设x=13,y=4,则表达式x%y != 0的值是(true),其数据类型是(boolean)。
java期末考试各章复习题及答案
java期末考试各章复习题及答案1. 简述Java的基本数据类型及其占用的字节大小。
- Java的基本数据类型包括:int(4字节)、short(2字节)、long(8字节)、byte(1字节)、float(4字节)、double(8字节)、char(2字节)和boolean(1字节)。
2. 描述Java中类和对象的概念。
- 类是对象的蓝图,它定义了对象的状态(属性)和行为(方法)。
对象是类的实例,通过类可以创建多个对象实例。
3. Java中继承的概念是什么?- 继承是面向对象编程的一个核心概念,它允许一个类(子类)继承另一个类(父类)的属性和方法。
4. 列出Java中的四种访问修饰符,并说明它们的访问范围。
- public:无限制访问。
- private:仅在定义它的类内部访问。
- protected:在定义它的类内部以及不同包中的子类中访问。
- default(无修饰符):在同一包内访问。
5. 什么是接口?Java中接口的特点是什么?- 接口是一种完全抽象的类,它包含抽象方法和全局常量。
Java中接口的特点包括:所有方法默认为public,所有变量默认为public static final。
6. 说明Java中异常处理的两种机制。
- Java中异常处理的两种机制是try-catch和throws。
try-catch用于捕获和处理异常,而throws用于声明方法可能抛出的异常。
7. Java中集合框架的层次结构是怎样的?- Java集合框架的层次结构从顶层到底层依次是:Collection、List、Set、SortedSet、NavigableSet、Queue、Deque、Map、SortedMap、NavigableMap。
8. 描述Java中泛型的概念及其作用。
- 泛型是Java 5引入的一种类型安全特性,它允许在编译时检查类型安全,避免了类型转换和ClassCastException。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 JAVA考试重点复习 第一章Java概述 1. Java如何实现跨平台? 通过Java虚拟机JVM来实现跨平台,先将Java源程序编译成字节码(后缀为.class的代码),字节码可以在Java虚拟机上运行,不同的平台有不同的Java虚拟机JVM,相同的字节码可以不同的平台上运行。 2. Java开发的三个平台是什么? J2SE、J2EE和J2ME 3。 如何编译与运行java程序? 在Dos命令提示符状态下通过命令行来实现的。例如:
如果用命令行运行test的话,后面不可以写“.class”,若写成test。class系统会把class当成类名test当成类包,所以在没有类包的情况下不要写成“。class”形式。 第二章Java基础 1。 什么是标识符?如何定义标识符? 标识符是用来标识变量、常量、方法、类、对象等元素的有效字符序列。Java语言规定标识符由字母、下划线、美元符号和数字等组成,并且第一个字符不能是数字。 对标识符的约定:(1)变量名、对象名、方法名、报名等标识符全部采用小写字母;如果标识符由多个单词构成,则首字母小写,其后单词的首字母大写,其余字母小写,如getAge。(2)类名首字母大写。(3)常量名全部字母大写。 2. 关键字的定义? 关键字是由Java语言定义的、具有特殊含义的字符序列。其首字母不能大写.如:this,super,extends,if,class,instanceof 3.Java中数据类型的结构?
float与double定义时的区别: float型的数要在后面要加f,如34.5f 4。 常量与变量的声明方式? 常量: final[修饰符]类型标识符 常量名=(直接)常量 如: final public double PAI=3。14; 变量: [修饰符] 类型标识符 变量名[=常量]; 如: public float x=25。4f; 常量与变量的区别:一旦定义为常量了,其值不能改变,若要改变其值,只能改变声明时
Output test.java javac test.class java
va数据类型 布尔(boolean) 数值类型 短整数(short) 字节(byte) 字符(char)
长整数(long) 整数(int) 双精度浮点数(double) 单精度浮点数(float)
定点类型
浮点类型 基本数据类型
引用数据类型 类 接口 数组 2
的值。 5. Java的运算符和表达式? 单目运算符: ++、—-、- 双目运算符: +、—、*、/、% 逻辑运算符:&、|、!、^、&&、|| 区别:逻辑与:& 逻辑或:| 短路与:&&(只要一个为F,一定为F) 短路或:||(只要一个为T,则一定为T) 6. 关于注释的正确写法? “//…………”单行注释 “/*…………*/”多行注释 第三、四、五章 1.Java的三种基本控制结构? 顺序,选择和循环 if,switch,while,for,continue与break区别 2. 数组的定义?举例定义一个基本数据类型的数组和一个引用数据类型的数组。 数组是一组同类型的数据的集合,除了基本数据类型还包括引用数据类型,那么引用数据类型数组是如何声明、初始化和使用的。 例:基本数据类型数组的声明,初始化 int[]c=new int [5]; (5表示数组的单元长度是5) c[0]=-5; 或 int[]c={1,2,3}; c[2]=3; 引用数据类型数组的声明初始化 例:String[]s=new String[3]; (3表示有3个单元) S[0]=new String(“ab”); 或 String[]s1={“1”, “2”, “3”}; 或 String[]s1= new String(“1”); String[]s2= new String(“2”); String[]s3= new String(“3"); 3。 如何声明数组,初始化数组以及使用数组? 4。 如何获得数组单元的长度? int len=s.length 5。 熟练掌握一维数组的声明、初始化和操作 6. 字符串的声明与初始化? 常量字符串 String 字符串直接量 字符串 字符串常量 可变字符串 StringBuffer 字符串 String s=“hello" hello会保存在字符串值里 字符串直接量 String s1=new string(“hello”); 在堆上开辟了一个新的对象空间来存放hello 对象变量 3
String s2=“hello”; 先看字符串池里面有没有hello,若有则直接将s2指向那个位置 String s3=new string(“hello"); 只要有new出现就一定会开辟一个新的空间. 7. 字符串直接量与字符串常量的区别: 存储位置不一样,字符串直接量放在字符串值里,字符串常量放在堆上. 8。 常量字符串类与可变字符串类分别是什么? 9。 常量字符串的基本操作方法有哪些?
5+5+“Hello”=? “ 10Hello" “Hello”+5+5=? “Hello55" “==”与“equals”的区别: 比较对象是否相等的方法是“=="和“equals",在采用“equals"进行比较时不会出现问题,“==”比较引用变量的值,“equals"(对象:内存里整块存储的东西,对象变量 String s1 s1即为对象变量)比较的是对象里的内容,故比较时应该比较对象里面所包含的内容而不是对象变量。 第六、七、八章 1。 什么是类?类的成员组成?接口是否为类的成员? 类就是将我们自然界中的事物的属性特点和行为特点抽象封装到类当中,反映这类事物的特点和功能.类的成员包括域变量和成员方法,对于域变量和成员方法都可以用static来修饰,static修饰的域变量称为类变量,static修饰的方法称为类方法,没有被static修饰的域变量和成员方法称为实例变量(可以在程序中直接调用)和实例方法。接口不是类的成员,是一种特殊的类,不用class,而用interface。 2。 关于类的正确表述? 必须依照类的写法,如何定义 3。 什么是静态域变量和实例域变量,静态方法和实例方法? 静态域变量称为类变量,静态方法也称为类方法,因为它们可以通过“类名。”来调用. 4。 什么是对象?如何创建对象?什么是对象变量?如何对对象进行初始化? 对象是类的一个实例。new在创建对象的作用:(1)通过new在堆上开辟一个对象空间,将类当中的域变量跟成员方法复制到对象空间当中;(2)通过new来调用构造方法来初始化对象;(3)将对象空间的首地址赋值给对象变量。对象变量就是指对象的首地址,通过构造方法对对象进行初始化。 5。 什么是构造方法?构造方法的特点与作用? 构造方法:(1)在一个类中方法名与类名相同的方法;(2)构造方法不是通过对象来调用,而是通过new运算符来调用;(3)构造方法是一种特殊的成员方法,它没有返回值. 构造方法特点:可以被重载,当没有在类中定义构造方法时,系统会默认提供一个不带参数的构造方法。作用:初始化对象. 6. super和this关键字的用法? this用在当前类,当前类的一个默认的对象,可以通过this来调用当前类的属性和成员方法,也可以直接调用当前类的构造方法的重载方法。super用于一个类的子类中,作为父类在子类中的一个默认的对象,通过它来调用父类的成员属性和成员方法,也可以在子类的构造方法里直接调用父类的构造方法。 7。 final修饰类、变量和方法时各有什么特点? 修饰类:这个类不能够被继承. 修饰变量:这个变量值不能改变,成为一个常量。 修饰方法:这个方法不能被覆盖。 4
8. 面向对象编程中,java类的三个主要特征是? 三个主要特征:封装性、继承性和多态性 封装性:通过类的访问修饰符来实现封装性的public,protected,缺省,private的访问权限 继承性:extends一个类继承了另一个类,那么父类的所有成员属性和成员方法都可以被继承到子类当中,子类也可以创建新的成员属性和成员方法(现有的类创建新的类的特性) super 多态性:静态多态性,如:重载函数。 动态多态性,如:覆盖函数。 重载(overload):一个类中可以定义多个名称相同,但参数变量不同的方法,重载方法与返回类型无关,重载方法常常用于构造方法,用于实现不同功能的初始化工作,重载也称为静态多态性,这是由于该方法被调用时采用静态地址充定位方式。 覆盖(override):在子类中对父类的某方法进行了重新定义,但方法的签名特征与父亲完全一致,访问修饰符的访问的限制宽于或至少等于父类的访问权限;主要用于实现同一个方法在不同的类中实现不同的表现形式,覆盖也称为动态多态性,这是由于该方法只有在运行时才能确定所调用的地址(也是多态性)。 9。 什么是抽象类?什么是抽象方法?抽象类的特点? 在类中至少有一个方法是抽象方法,那么这个类就称为抽象类,用abstract来修饰抽象类.抽象方法即没有定义这个方法的主体,给出这个方法的签名特征。特点:抽象类的对象变量是通过它的非抽象的子类来初始化的。 如:Animal T=new Tiger() 里的方法都是抽象方法,修饰符为public,没有写默认为public 抽象类 非抽象类 10. 什么是接口?接口的特点?接口的作用? 接口是使用interface关键字来代替class的特殊的类。 接口的三种形式:(1)仅有常量接口;(2)常量和抽象方法接口(3)仅有抽象方法接口。 作用:(1)可以实现常量接口在多个类当中共享常量;(2)实现共享一组标准操作来实现多个类之间的共享约定;(3)实现多态性。 11. 接口与抽象类的区别? 接口中所有的方法都是抽象方法,不管这个方法是否使用public,abstract修饰,它都是默认的公有的抽象方法,抽象类至少有一个抽象方法,而且还有一个成员方法,接口中不能定义构造方法,抽象类可以定义构造方法. 12. 什么是包?包的作用? 包是java语言提供的组织类和接口的工具,将一组相关的类为接口,组织到一个包中. 作用:(1)通过包可以来确定类的唯一标识;(2)通过包可以将相似功能的类和接口组织在一个包中。 第九章 1. 什么是异常?为什么要处理异常? 异常是指程序运行过程中出现的非正常现象.由于异常情况总是难免的,良好的应用程序除了具备用户所要求的基本功能外,还应该具备预见并处理可发生的各种异常的功能。 2。 异常的基本处理方式?常用的异常类有哪些? 两种处理方式:(1)一旦捕获异常马上进行处理.try,catch,finally (2)捕获异常并不处理,而是利用方法将异常抛出,throw,throws 3. Error和Exception类的区别? Error是用来处理较少发生的系统内部的错误,程序员对这些错误通常无能为力,只能在发生时由用户按照提示来终止程序的运行。