当前位置:文档之家› 《Java语言程序设计》期末复习提纲2017(1)

《Java语言程序设计》期末复习提纲2017(1)

《Java语言程序设计》期末复习提纲2018-1第1章绪论1、Java语言的创始人是James Gosling.2、Java语言的特点(PPT和课本)3、JDK环境配置(PPT和课本):path=%path%;C:\jdk1.6.0_27\binclasspath= .;C:\jdk1.6.0_27\lib4. Java程序的基本开发步骤:编辑、编译和运行,主要由什么JDK工具完成,能举例说明。

(java.exe, javac.exe等)5.了解Java的三种平台的特点:Java SE、Java EE和Java ME(PPT) 6.Java源程序结构特点、文件名命名要求•Java大小写敏感•如果源文件中有多个类,那么只能有一个类是public类•如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同;若没有public类,那么文件名只需要和某个类的名字相同即可7.了解jar文件:是Java程序的一种分发形式。

(PPT第三章)第2章结构化程序设计(一)标识符、关键字和数据类型1. Java词法(见PPT):UNICODE字符集、空格与分号、注释、标识符、关键字等;/** JDK的javadoc工具用这种注释信息能自动从程序中抽出类的公共接口形成文档。

…*/2. Java标识符:命名规则、书写约定3.Java字符集采用的是Unicode字符集,它的特点是:4.Java的关键字,不是关键字的有delete,新增加的关键字有instanceof transient synchronized volatile throw throws等5. 基本数据类型的定义与使用(PPT或课本);6. java的数据类型有基本数据类型和引用数据类型两种。

引用类型有数组、类、接口、枚举7.基本数据类型有8种。

整数类型范围与占用位数(P29)。

(二)运算符、表达式和语句1.Java常用运算符(P34)、理解优先级与结合性(PPT),表达式算术运算符(+,-,*,/,%,++,--):理解++,--的含义关系运算符(>,<,>=,<=,= =,!=)布尔逻辑运算符(!,&&,||, |, &):理解短路运算位运算符(>>,<<,>>>,&,|,^,~):理解位运算符的实际运算过程赋值运算符(=,及其扩展赋值运算符如+=)条件运算符( ?:)其它 (包括分量运算符·,下标运算符 [],实例运算符 instanceof,内存分配运算符new,强制类型转换运算符 (类型),方法调用运算符 () 等)2. 语句格式与执行逻辑(如Switch、if、while等)(1)分支语句:if-else, switch-case(2)循环语句:for, while, do-while(3)例外处理语句:try-catch-finally, throw(4)其他:break, continue, label: , return第3章面向对象程序设计(类、对象和接口)[重点全面理解]1.理解面向对象的类的三个基本特性:封装性、继承性和多态性(课本P70);2. 掌握类、域和方法的定义(课本和PPT)2.1 类修饰符:包括public abstract final strictfp等,理解“无修饰词”的含义。

P882.2 构造方法的概念与定义方法;类的构造方法的3个特点。

P65 类名相同,无返回,都有构造函数重载(如果有this()语句则必须是其中的第一句)变量和方法称为类的成员(成员变量和成员方法),而构造方法不是类的成员每个类中至少有一个构造方法定义类时如未定义构造方法,运行时系统会为该类自动定义缺省的构造方法2.3成员变量的声明(1)注意其修饰词的含义:访问控制、static、final (修饰词包含:public protected private static final transient volatile)2.4成员方法的声明(1)注意其修饰符的含义:访问控制、static、abstract、final3.对象的声明、创建(实例化)与使用(new操作符,Java垃圾收集机制:PPT 和课本例子p68~69中System.gc()和finialize()方法)4.static关键字(类成员与实例成员)(1)理解类变量与实例变量的区别与使用方法实例变量对对象而言是独立的;类变量对对象而言是公用的。

(2)理解类方法与实例方法的区别与使用方法实例方法只能由对象调用,并且可以操作类变量与实例变量;而类方法既可以由类调用又可以由对象调用,并且类方法只能对类变量进行操作。

5.super的三种用法P796.this关键字的含义与使用方法this 是一个类的当前实例(对象)的引用。

只能在实例方法定义内使用它。

在类方法或用static 说明的方法中不能用this 。

7.理解包(package)(详见PPT)(1)包的作用:包是一组相关的类或接口的集合, 它提供了访问保护和名字空间管理。

Java编译器使用文件系统目录来保存包。

(2)包的创建与命名规则(3)包的使用:import(4)包中的源文件与类文件的管理(注意目录层次与包定义的对应关系,阅读PPT的例子)8.重点理解访问控制级别(1)成员变量和方法有4种访问级别:public, protected, 默认(default,即没有访问控制修饰符,代表包范围可访问), private ;(2)类有两种访问级别:public 或default。

(3)修饰符的作用范围(p87的表3.1):Modifier Same class Same Package Subclass Universepublic Yes Yes Yes Yes protected Yes Yes Yesdefault Yes Yesprivate Yes(4)通过例子去理解(课本或PPT)9.Java的继承机制:单继承机制,不支持多重继承,但可以通过接口来实现多重继承(1)子类继承父类的形式:extends(2)子类的继承性•子类能够继承什么?•如果子类与父类在同一个包内:•子类能够继承其父类中所有非private(即public、protected和default)的成员变量和成员方法•如果子类与父类不在同一个包内:•子类能够继承其父类中所有public和protected的成员变量和成员方法,但不能够继承其父类中的default和private成员变量和成员方法•子类不能继承父类隐藏的成员变量和重写的父类方法•子类不能继承父类中构造方法。

因为构造方法不是类的成员(3)成员变量的隐藏与方法的重写1/ 成员变量的隐藏与方法重写的规则(详见PPT)父类中同名变量不能被继承——即子类同名变量隐藏父类中的同名变量。

子类中定义的同父类完全相同的方法将隐藏父类中的方法——运行时多态性。

子类调用父类方法的方法(包括同名方法)——super(4)方法的重载(overload,也称为静态多态性,静态多态性在编译时可以被系统识别)在同一个类中名字相同但参数个数或类型不同的方法。

返回值可以不同。

构造方法也可以重载。

(5)运行时多态(overwrite,即重写)1/ 对子类的一个实例,如果子类重写了父类的方法,则运行时系统调用子类的方法,如果子类继承了父类的方法(未重写),则运行时系统调用父类的方法。

2/ 对象的上转型对象对象的上转型对象的实体是子类负责创建的,但上转型对象会失去原对象的一些属性和功能。

理解上转型对象的特点。

(PPT)3/ 理解运行时多态的作用(课本或PPT的例子)(6)final数据、方法和类1/ final数据可以是编译时的常量,也可以是运行时才初始化的常量2/ final 方法不能被重写3/ final类不能被继承(7)abstract类、abstract方法1/ 抽象类不能实例化——创建对象。

2/ 抽象方法只允许声明,不允许实现。

3/ 抽象类中不一定要包含abstract方法,但是,一旦某个类中包含了abstract 方法,则这个类必须声明为abstract类。

10.理解接口(1)接口的概念:接口就是方法定义(没有方法的实现)和常量值的集合。

(2)接口的作用、接口与多重继承的区别1/ 一个类仅仅继承接口中的常量。

2/ 一个类不能继承接口中的方法。

3/ 接口继承独立于类的继承。

执行相同接口的类,不一定在类继承上相关。

(3)接口的声明与定义(特征与使用规则,见PPT):1/ 在接口中定义的常量具有public, final ,static的属性。

2/ 实现中不能缩小接口方法的访问类型:接口中的方法被默认是public的,所以类在实现接口方法时,一定要用pulbic来修饰.接口中成员域都具有public,static和final属性(P95)接口中成员方法都具有public 和abstract属性(P95)(4)接口的使用1/ 使用接口的类体中可以使用接口中定义的常量2/ 必须实现接口中定义的所有方法。

如果一个类声明一个接口,但没有实现接口中的所有方法,那么这个类必须是abstract类3/ 在类中实现接口所定义的方法时,方法的声明必须与接口中所定义的完全一致。

4/ 接口的回调问题:Java运行时系统动态地确定该使用哪个类中的方法。

(PPT中的例子)11.内部类分为实名内部类与匿名内部类。

非静态(static)内部类中含有的静态属性域必须具有final属性。

非静态(static)实名内部类中不能含静态方法。

(P97)匿名内部类的特点:匿名内部类不具有类名,不能具有抽象和静态属性,不能派生子类。

匿名内部类必须继承一个父类或实现一个接口。

(P100)第4章数组、字符串、向量与哈希表1.数组的声明与创建(掌握一维和二维数组的声明与使用)2.数组元素的构成特点(简单数据与构造类数据)3.数组的操作:数组初始化与数组元素的赋值4.String对象的定义方法与基本操作(长度、相等判断,课本与PPT)掌握:length(),equals(),parseXXX(),subString(),String对象的+和==操作,成员方法intern(P139)(1)基本数据类型可通过String类的ValueOf()方法转换得到字符串表达形式。

对于对象则可以调用其继承的基本根类Object中的toString()来转成字符串表达形式。

(p130-p131)(2)把字符串转换成基本数据类型由包装类Byte Integer Long Double Float等中定义的parseXXX()系列方法完成(p138-p139)5.区别String与StringBuffer(1)String实例一旦创建,不能改变其内容;StringBuffer实例则可以修改实例所包含的字符序列6、Vector实现了可扩展的对象数组,使用向量没有数组的范围限制,可以不断添加元素。

相关主题