当前位置:文档之家› Java期末复习总结

Java期末复习总结

Java复习1、Java应用程序有且只有一个main()方法,它是Java应用程序执行的起点和终点,拥有main()方法的类应该加public修饰符,该类为主类。

在该函数中通过系统对象System.out中的方法println(),可以在屏幕上输出字符号串。

2、关键字和标识符⏹标识符⏹以字母、下划线“_”、美元符“$”开始⏹后面跟字母、下划线、美元符和数字⏹区分大小写⏹关键字不能用来做标识符,⏹见名知意⏹约定(1)类名:应以大写字母开头,若有多个单词组成,那么其中的每个单词都应该以大学字母开头。

若其中一个单词是字母缩写,那么此字母缩写应全部以大写字母编写。

⏹Student StringBufferURL(2)方法名:应以小写字母开头,若包含多个单词,那么在第一个单词之后的每个单词都应以大写字母开头,第一个单词通常是动词。

如:getStudentName( )3、数据类型⏹简单数据类型⏹整数类型:byte,short,int,long⏹实数类型:float,double⏹字符类型:char 布尔类型:boolean⏹复合数据类型包括:⏹数组:class接口:interface4、运算符和表达式⏹运算符算术运算符:+ - ++ -- * / %关系运算符:< <= > >= == !=逻辑运算符:! && ||位运算符:~ & | ^ << >> >>>赋值运算符:= += -= *= /= %= &= |= ^= <<= >>= >>>= 条件运算符:?: 分量运算符: .下标运算符: [] 实例运算符: instanceof方法调用运算符: () 内存分配运算符: new强制类型运算符:(类型)⏹表达式⏹数字转换成字符串Double.toString(double)Float.toString(Float)Long.toString(Long)Integer.toString(Integer)Short.toString(Short)Byte.toString(Byte)⏹字符转换成数字Double.parseDouble(string)Float.parseFloat(string)Long.parseLong(string)Integer.parseInteger(string)Short.parseShort(string)Byte.parseByte(string)5、package声明包语句,必须作为Java中的第一条可执行语句格式:package 包名;⏹Java包是由.class文件组成的一个集合。

以后如果要使用包中的类,必须使用import导入。

⏹import语句引入包必须写在package语句和源程序其它语句之间ng:Java语言核心包,包含所有的基本语言类,这个包由编译器自动引入。

java.applet:包含所有实现小程序的类。

java.awt:包含抽象窗口工具集中的图形、文本、窗口GUI类。

java.io:包含所有的输入输出类。

:包含所有实现网络功能的类。

java.util:包含有用的数据类型类。

6、循环控制语句⏹for语句for(表达式1;表达式2;表达式3){循环体}For语句一般用于循环次数确定的情况⏹while语句while(条件表达式){循环体}先判断条件是否为真,如果为真就进入循环,如果为假可能一次循环也不执行⏹do-while语句do{循环体}while(条件表达式);先执行循环体语句再进行判断,所以至少要执行一次循环7、break、continue和return⏹break语句可用于switch多路分支语句和循环语句中,其作用是跳出switch或强行结束循环。

⏹continue语句只能用于循环语句中,其作用是结束本轮循环开始下一轮循环。

⏹return语句:return 表达式;⏹return结束方法的调用,并返回一个确定的值⏹在一个方法中可以有多个return语句,但每次调用只可能有一个return语句被执行。

8、数组定义与使用⏹数组是Java语言中的一种复合数据类型,是通过下标定位的同类型数据的集合⏹一个数组中每个元素的数据类型相同⏹基本类型⏹对象类型⏹数组类型⏹数组要经过声明、分配内存及赋值后才能使用(1) 数组声明语法:⏹数组元素类型数组名[];⏹数组元素类型[] 数组名;⏹数组元素类型数组名[][];⏹数组元素类型[][] 数组名;int score[ ];char a[ ][ ];(2) 数组分配内存⏹数组名=new 数组元素类型[数组元素个数];score=new int[2];a=new char[2][3];(3)数组元素初始化⏹数组元素的类型是基本类型:可略⏹数组元素的类型是对象类型:必须调用类的构造方法来初始化score[ ]={1,2};a[ ][ ]={{1,2},{3,4},{5,6}};(4)数组元素的引用:下标⏹下标从0开始,一个长度为n的数组,其下标范围是0~n-1⏹下标必须是整形的值,短整型、字节型和字符型的值也可以作为数组的下标⏹越界检查9、面向对象的三大特征(1)继承(inheritance)⏹指新的类可以获得已有类(称为基类或父类)的属性和行为,称新类为已有类的派生类(或子类)。

⏹有助于解决软件的可重用性问题⏹程序结构清晰⏹降低了编码和维护的工作量2)封装(encapsulation)⏹信息隐蔽技术⏹利用抽象数据类型将数据和基于数据的操作封装在一起⏹将对象的使用者和设计者分开⏹使用者不必知道行为实现的细节,只须使用设计者的提供的消息来访问对象。

⏹封装的定义:⏹清楚的边界,所有对象的内部信息被限定在这个边界内;⏹接口即对象向外界提供的方法,外界可以通过这些方法与对象进行交互;⏹受保护的内部实现,即软件对象功能的实现细节不能从类外访问。

⏹Java语言通过类来实现封装3)多态(polymorphism)⏹静态多态(编译时多态):在编译阶段,具体调用哪个被重载的方法编译器会根据参数的不同来表态确实调用相应的方法。

⏹方法重载⏹动态多态(运行时多态):由于派生类继承了基类所有的属性(私有的除外),所以派生类对象可以作为基类对象使用。

程序中凡是使用基类对象中的地方,都可以用派生类对象来代替。

一个对象可以通过引用派生类的实例来调用派生类的方法。

⏹方法重写10、类的定义(1)定义语法⏹[修饰符] class 类名 [extends 父类名][implements 接口名列表]{ [声明成员变量;][声明成员方法;]}①类的修饰符包括:public(公共)private(私有)protected(保护)abstract (抽象)final(最终类)⏹一般类只有两种访问权限⏹public(公共):可以在不同的包中引用⏹默认(友好):只能在同一个包中引用⏹内部类:一个类可以定义在另一个类的内部⏹内部类可以有private 和protected权限。

②成员变量的修饰符:public、protected、private 、final(常量)、static(静态)transient(暂时,用于对象存档)、Volatile(易变,用于并发线程共享) ③成员方法的修饰符:public、protected、private⏹final(方法不能重写)⏹static(静态)⏹native (集成其它语言代码)⏹synchronized(同步,控制多个线程并发访问)(2)类成员的访问权限⏹public:在所有包内可见⏹protected:在同一个包内及其子类(不同包)⏹缺省:在同包内可见⏹private protected:在本类及基子类可见⏹private:仅在本类内可见(3)对象的定义及使用⏹对象的定义包括声明、实例化和初始化⏹类名对象名=new 类名([参数列表]);⏹通过运算符“.”可以实现对成员变量的访问和成员方法的调用。

⏹对象名.变量名;⏹对象名.方法名;⏹注意:如果成员变量和成员方法使用static修饰,它们成为静态成员也称类成员。

⏹静态成员存储于类的存储区,属于整个类而不属于一个具体的类对象。

⏹同一个类的所有对象所访问的静态成员都是同一个⏹静态方法只能处理静态变量。

调用静态成员语法是:⏹类名.静态变量名;⏹类名.静态方法;11、Java系统默认,每个类都缺省地具有null 、this与Super三个属性(1)null表示“空”,代表一个什么也没有的“空”值。

(2)this表示当前对象本身,代表了当前对象的一个引用。

(3)super表示的是当前对象的直接基类,是当前对象的直接基类的引用12、构造方法的特点:⏹构造方法名与类名相同;⏹构造方法不返回任何值,也没有返回类型,即使是void也不行;⏹每一个类可以显式定义零个或多个构造方法,如果没有显式定义构造方法,Java会自动提供一个无参构造方法,为类的成员属性赋数据类型默认值;⏹构造方法在创建对象时自动执行,一般不能显式地直接调用。

13、继承的特点:⏹子类不能继承父类中访问权限为private的成员属性和方法。

⏹在Java语言中只允许单继承,⏹每一个类只能有一个父类⏹一个类允许同时拥有多个子类⏹父类:是所有子类的公共成员属性和公共成员方法的集合⏹子类:是父类的特殊化,是对公共成员属性和成员方法的功能、内涵方面的扩展和延伸。

⏹单继承形成了一棵继承树⏹类的继承具有传递性,即子类继承父类的所有非私有成员,也继承父类的父类类直至祖先的所有非私有成员。

14、接口的定义:接口声明和接口体。

定义格式:[public]interface 接口名 [extends 父接口名]{}extends:一个接口可有多个父接口,用逗号隔开,而一个类只有一个直接父类。

15、不能被实例化的类称为抽象类(abstract)。

用abstract修饰的方法是抽象方法,所有的抽象方法都必须在抽象类中。

16、流从结构上可分为字节流和字符流。

字节输入流和输出流的基础是InputStream和OutputStream这两个抽象类。

字符流输入/输出的基础是抽象类Reader和Writer。

17、字符输入流字符输入流(Reader)是一个抽象类。

其中包含一套字符输入流需要的方法,可以完成最基本的从输入流读入字符的功能。

而真正实现字符输入的功能,则必须根据数据的不同形式,创建一个适当的Reader子类类型的对象来完成。

18、字符输出流字符输出流(Writer)也是一个抽象类,其中包含一套字符输出流需要的方法,可以完成最基本的把字符写到输出流的功能。

而真正实现字符输出的功能,则必须根据数据的不同形式,创建一个适当的Writer子类类型的对象来完成。

相关主题