当前位置:文档之家› Java期末知识点整理总结

Java期末知识点整理总结

Java期末知识点整理总结计科2班苏锐师编号47 学号201330551464第一章Java语言概述1. Java语言发展历史和现状及前景2. Java语言的特点:简单、面向对象、分布式、健壮性、结构中立、安全性、可移植、解释的、高性能、多线程、多态性3. Java虚拟机概念(JVM),Java程序的执行过程4. Java应用程序分类:Application和Applet5. Java程序的开发环境:JDK,IDE第二章Java数据类型及其运算1. 标识符与保留字1.2 标识符命名语法规则与Java推荐的标识符命名规则1.3 Java中的关键字2. 数据类型byte, short, int long, char, float, double, boolean注意点:Java中所有数据类型是确定的,与平台无关,没有sizeof操作,其中特别注意char 类型是2字节Unicode编码,与C++不同;知道基本类型都有对应的默认值。

整型数的十进制、八进制、十六进制值的表示。

实型数的十进制、十六进制与科学计数法表示,注意实型常量默认类型为double型。

3.运算符与表达式算术运算符: + - * / % ++ --关系运算符:> >= < <= == !=逻辑运算符:&& || !& |注意短路计算与非短路计算的差别位运算符:>> << >>> & | ^ ~要认识异或(^)与按位取反(~)运算符赋值运算符: += -= *= /= %= &= |= ^= <<= >>= >>>=要注意赋值运算符中包含了强制转换:若:int k = 1;k += 44.232D;则相当于:k = (int) ( k + 44.232D);条件运算符:exp ?stat1 :stat2 要注意stat1与stat2要求类型相兼容且不能为void类型。

运算符的优先级:算术运算 > 关系运算> 逻辑运算数值型之间可以相互强制转换,但不能在数值型与复合型类型(数组、对象等)间强制转换。

4.常用的输入输出System类管理的标准输入输出流:System.in System.out System.err常用的方法:System.out.println()与System.out.print()的区别;System.in.read()方法。

javax.swing.JOptionPane类提供的对话框界面:String showInputDialog(String toShowInfo)void showMessageDialog(Component parent, String toShowInfo)6.数组的创建和使用要区分数组的引用声明与数组的创建两个概念声明仅仅给出了一个引用,但没有可用的数组对象。

如:int[] a; 此时a是引用,还不可以使用,如果此时就访问a.length是错误的要使用数组必须进行创建,使用new关键字。

如:int[] b = new int[8];注意创建时必须指定数组的大小,且在程序运行期间是不可以改动大小的。

数组的初始化:声明时就给数组一个初始值,如:int[] c = { 3, 4, 5 }; 或int[] d = new int[]{ 3, 4, 5};注意复合类型的数组中仅仅存放了符合类型的引用,没有具体的对象,如:Person[] x = new Person[3];则数组中仅仅存放三个Person对象的引用,而不是创建了3个Person对象。

访问的数组长度:数组名.length,在循环中尤为重要。

二维及多维数组的创建与使用二维及多维数组可以创建锯齿形数组。

第三章程序控制语句1选择语句:if-else与if-else-if格式switch分支结构2 循环语句: for、while、do-while循环3跳转语句:break、continue与return语句,注意带标号的break与continue用法第四章Java面向对象程序设计基础1. 类和对象对象就是对现实世界的存在的实体的一个模拟,每一个对象都有自己的状态和行为。

对象的状态描绘对象的静态属性特征,对象行为说明对象会发生变化的动态行为,对象的行为一般通过方法的调用来实现。

类是对一组具有相同属性、行为、关系及语义的对象的描述,是具有相同类型对象的抽象。

类中使用变量来表示对象的抽象状态,用方法抽象出对象的行为特征。

在Java编程时,可以将类理解为数据类型,将对象理解为数据类型中的变量实例。

2. 类的声明与使用[修饰符] class 类名 [extends 父类] [implements 接口, ... ] {类的成员}其中修饰符可以有:public final abstract,理解各修饰符的意义,理解类的访问控制,当使用其他包中的公共类时需要使用import导入。

对于内部类可以使用的修饰符有:public, protected, private, final, static, abstract。

3. 类的成员属性与方法的定义与使用方法的声明[public | protected | private][static][final | abstract] [native] [synchronized] 返回值类型方法名称( [参数列表] ) [throws 异常名表] { 方法体}知道成员访问控制的差别。

4. 类的静态成员静态方法与静态属性5. 类的创建理解声明、实例化、初始化的过程。

6. 包的概念包的创建与命名,如何组织类导入7. 构造方法构造方法:用于对象初始化的特殊的方法,必须与类名相同,没有返回值。

特点:构造方法的命名不符合方法的命名规则,它和类名相同,没有返回值。

成员方法的非访问控制符如final, static, abstract, native, synchronized等关键字不能修饰构造方法。

构造方法一般由用户定义,如果用户没有定义构造方法,则系统会自动提供一个默认的无参构造方法,来初始化对象。

用户可以定义多个带有不同参数的构造方法,称为重载构造方法。

【P60.例4.9】构造方法通过new操作符来实现方法的调用,不像一般方法那样显式的调用。

8. this关键字用于访问对象的成员或实现在构造方法内调用其他的构造方法。

【P62.例4.11】9. 嵌套类(内部类)分为静态内部类和非静态内部类。

另外比较重要的是匿名类。

【P69.例4.15】10. final修饰的意义final修饰变量:变量为基本类型表示为常量,修饰引用表示引用不允许指向其他对象。

final修饰方法:表示该方法不能被重写。

final修饰类:表示类不能被继承。

11. super关键字引用父类的构造函数;引用父类中被子类覆盖的成员方法和隐藏的数据成员。

第五章面向对象高级程序设计1. 继承继承是一个新的类继承原有的类的基本特性,并增加新的特性,体现类的层次关系,新的类与原有类之间体现一种IS-A的关系。

继承通过extends关键字来实现,任何类都有父类,除了Object类外。

class 子类名称 extends 父类名称 {类的描述}如果没有写extends标明父类,则表示该类的父类为Object。

需要掌握子类在继承父类时,哪些被继承,哪些没有被继承。

2. 抽象类用abstract修饰的类抽象类是对一组固定实现的抽象描述,并不对应具体的概念,只作为一个抽象概念存在,是不能被修改的,通常只用来派生子类。

abstract class 抽象类名称 {类体}3. 抽象方法用abstract修饰的方法抽象方法只有方法的签名没有方法体,只提供方法的规格说明,没有具体的实现。

final关键字不能修饰抽象方法。

static也不能修饰抽象方法。

注意:抽象类中不一定包含抽象方法;但是只要类中包含抽象方法则类一定是抽象类。

抽象类必须在派生的子类中重写抽象方法,没有重写抽象方法的子类还是抽象类。

非抽象类的子类可以重新声明为抽象类。

4. 多态Java中不支持用户定义符号重载,支持用户定义方法的重载。

方法的重载就是在一个类内(或父子类间)用一个标识符定义不同的方法或符号运算的方法名或符号名。

注意重载要求方法名称相同,但参数不同,返回值不作为方法重载判断的依据。

方法的覆盖和隐藏:方法覆盖是子类具有重新定义父类成员方法的能力,要求方法具有和父类方法相同的名称、参数、返回值,访问限制不能被父类的方法小,抛出的异常不能比父类方法多。

需要注意的是:静态方法和属性的访问看引用类型;而实例方法的调用代码根据引用指向的具体的对象来决定。

5. super关键字引用父类的构造函数;引用父类中被子类覆盖的成员方法和隐藏的数据成员。

6. 接口接口实质上为外界提供运算,但不揭示这些运算的结构或具体的实现。

编程角度看,接口实际上是一组抽象方法和常量的集合,为其他使用者提供外部的说明。

[ public ]interface 接口名称 [extends 父接口, ...] {接口体}接口中定义的方法隐含为公共public和抽象的abstract;定义的常量默认为public static final型。

接口的实现:通过implements来实现接口,class 类名称 implements 接口名, ... {实现接口中定义的方法}接口的定义类似于抽象类,但其实现依赖于类,而不是通过继承来实现的。

理解下面程序出现的问题:class Point {int x, y;private Point() { reset(); }Point(int x, int y) { this.x = x; this.y = y; }private void reset() { this.x = 0; this.y = 0; }}class ColoredPoint extends Point {int color;void clear() { reset(); }}class Test {public static void main(String[] args) {ColoredPoint c = new ColoredPoint(0, 0);c.reset();}}知道下面的类构造过程中的执行顺序:class Bird {{ System.out.println(“b1 “); }public Bird(){ System.out.println(“b2 “); }}class Raptor extends Bird { // Raptor ['ræptə(r)] n. 猛禽,肉食鸟 static { System.out.println(“r1 “); }public Raptor() { System.out.println(“r2 “); }{ System.out.println(“r3 “); }static { System.out.println(“r4 “); }}class Hawk extends Raptor {public static void main(String ... args) {System.ou t.println(“pre ”);new Hawk();System.out.println(“hawk “);}}// 结果是: r1 r4 pre b1 b2 r3 b2 hawk推广到更一般的情况:class Bird {{ System.out.println("b1 "); }public Bird(){ System.out.println("b2 "); }static {System.out.println("b3 ");}}class Raptor extends Bird {static { System.out.println("r1 "); }public Raptor() { System.out.println("r2 "); } { System.out.println("r3 "); }static { System.out.println("r4 "); }}class Hawk extends Raptor {public static void main(String ... args) {System.out.println("pre ");new Hawk();System.out.println("end ");}{System.out.println("h1 ");}static {System.out.println("h2 ");}}////////////////b3 r1 r4 h2 pre b1 b2 r3 r2 h1 end7.利用实例内部类实现事件处理,利用匿名内部类实现事件处理第六章字符串处理1. String类与字符串常量创建字符串的方法,构造函数:String(String original)String(char[] value)String(char[] value, int offset, int count)常用的方法:int length()int indexOf(int toFindChar)int compareTo(String anotherString)boolean equals(Object stringObject)boolean equalsIgnoreCase(String anotherString)static String valueOf(double d)2. StringBuffer与字符串变量理解StringBuffer与String的差异。

相关主题