Java复习大纲
2022-05-06 16:39:42 0 举报
AI智能生成
登录查看完整内容
为你推荐
查看更多
Java复习大纲
作者其他创作
大纲/内容
Java程序分为两类:应用程序(Java application)小程序(Java applet)
Java是简单的Java是面向对象的Java是健壮的Java是安全的Java是可移植的Java是解释型的Java是多线程的
javac 是用来编译源代码的命令。 java 是用于执行类文件的命令。
1.乱七八糟
由字母、数字、下划线_、美元符号$组成!首字母不能是数字不能是保留字(50个)区分大小写标识符名称最好有意义
标识符的命名规则
精度由低到高:byte\t8位有符号数short\t16位有符号数int\t32位有符号数long\t64位有符号数float\t32位double\t64位
布尔数据类型来自布尔代数,它的值域包括两个值:真(true)和假(false)。boolean xx = true;
数据类型
条件语句 if语句、if-else语句 switch语句循环语句 while循环 do-while循环for循环跳转语句break 和 continue
语法
方法的结构:\t修饰符 返回值类型 方法名(参数列表)\t{\t\t//方法体\t}方法头指定方法的修饰符、返回值类型、方法名和参数。
方法重载就是指:两个方法具有相同名称和不同的参数形式。方法名 与 参数形式合称方法头标志。调用方法时,Java运行系统能够根据方法头标志决定调用哪个方法。
方法
2.基础语法
类的定义:[修饰符] class 类名{属性定义(声明)方法定义(声明)}
属性定义的语法:[修饰符] 类型 属性名= [初值] ;类型可以是任何类型,包括类。属性有默认值。
方法定义的语法:[修饰符] 返回值类型 方法名(参数列表){语句(组);return语句;}
创建对象的语法:类名 对象名 = new 类名();调用对象属性和方法的语法:对象名.属性名对象名.方法名
类与对象
变量的作用域属性:类的作用域,有默认值局部变量(变量):块的作用域,没有默认值
如果属性名与局部变量名相同,则在局部变量的作用域内,属性被隐藏。
this代表类的当前对象利用“this.”可以调用当前对象的成员this可以实现构造方法的调用利用this(参数)可以调用构造方法必须写在构造方法的第一条
琐碎
使用其他包中的类Import 包名.类名例:import myPackage.myClass;注意:只能引入其他包中的public类
类的访问控制修饰符public:包内外都可访问默认:只能包内访问
类成员的访问控制修饰符public:包内+包外可访问protected:包内+包外子类可访问默认:包内可访问private:类内可访问
静态属性用static修饰的属性,也称为类属性用于描述一类对象共享的属性比如:员工的最低工资,学生的学校名称等等可通过类名直接调用,也可通过对象调用
静态方法用static修饰的方法,也叫类方法静态方法中不能访问非静态成员如果一个方法中没有访问非静态成员,则这个方法可以声明成静态的
静态属性和静态方法在第一次使用类的时候创建,所有类的对象共享非静态属性和非静态方法在创建对象的时候创建,每个对象之间独立
static
访问控制
3.封装
[修饰符] class 子类名 extends 父类名{ 类体;}例如:class Apple extends Fruit { … }
子类只能继承父类中可访问的属性父子类在一个包中,子类可以继承父类中的非私有属性父子类不在一个包中,子类可以继承public类中的,public属性和protected属性
子类可以定义与父类同名的属性,称为属性隐藏。也就是说子类可以重新定义父类的属性。
在子类中定义与父类方法头相同的方法,称为方法的覆盖。通过方法覆盖,子类重新定义了父类的方法。
隐藏和覆盖
在创建子类对象时,先调用父类构造方法,然后再调用子类构造方法默认情况下,调用父类无参的构造方法
如果父类中没有无参的构造方法,则在默认情况下,创建其子类对象会出错。
构造方法
如果希望调用父类有参构造方法,可以借助super完成。
在子类中调用父类的属性和方法不能在静态方法中使用。
super
子类对象可以当作父类对象使用父类对象不能当作子类对象使用如果父类引用实际指向的是子类对象,那么该父类引用可以通过强制转换成子类对象使用
父子类对象
多态:一种功能有多种实现。通过方法的重载和覆盖可以实现多态。动态绑定:方法体的调用是在程序执行时动态决定的。是实现多态的保证。
多态性
final可以修饰:属性或局部变量,不能被修改(常量)方法,不能被覆盖(最终方法)类,不能被继承(最终类)
final
abstract类:不能实例化,只能用于继承abstract方法:只有方法头,没有方法体只能定义在抽象方法中
抽象方法的作用:强制非抽象子类中必须实现(覆盖)这个抽象方法。
abstract
4.继承
用于描述类对外提供功能规范的、能够多重继承的、特殊的抽象类。
接口中只能定义静态常量和抽象方法。
Java中的类只能单继承Java中的接口可以多重继承
概念
接口定义与类定义相似,但只能包含静态常量和抽象方法。接口之间可以多重继承
[public] interface 接口名 [extends 父接口列表]{\t// 属性声明\t[public] [static] [final] 属性类型 属性名 = 常量值 ; // 方法声明\t[public] [abstract] 返回值类型 方法名 ( 参数列表 ) ;}
定义接口
类通过implements关键字来实现接口。类必须实现(覆盖)接口中描述的方法。
class 类名 [extends 父类] [implements 接口列表]{\t\t覆盖所有接口中定义的方法;}
实现接口
接口中的数据必须是常量;抽象类可以有各种类型的数据。接口中的每个方法,只有一个头标志,没有实现部分;抽象类可以有具体的方法。由于定义在接口中的所有方法都是抽象方法,Java不要求在接口中abstract修饰符放在方法前;但是在抽象类中必须将abstract修饰符放在抽象方法之前。
接口与抽象类
5.接口
也叫做内嵌类,是一种定义在其他类内部的类。内部类相当于外部类的一个成员可以访问外部类的所有其他成员使用受到外部类的限制
内部类
一种特殊的内部类,类的定义和实例化一步完成。匿名类没有名字,只能使用一次,而且,只能是某个类的子类。
匿名类
6.内部类与匿名类
异常,也称为例外,表示程序运行中出现意外情况的一个信号。异常是一种特殊的运行错误对象,一旦产生会中断程序的正常执行。
当程序遇到运行时错误时,会产生并抛出一个信号(异常),然后通过try-catch语句捕获这个信号(异常),这样就可以根据这个信号(异常)的不同进行相应的处理。
程序员可以自定义异常类,用于描述特定的异常情况继承Exception类就可以定义自己的异常类
异常类
系统预定义异常:系统自动抛出通过throw抛出自定义异常:通过throw抛出注意: throw后不能写语句;
抛出异常
要保证程序在异常抛出后能够正常运行,需要对异常进行处理。通过try-catch语句对异常进行捕获并处理
对可能产生的多种异常可以通过多个catch子句进行捕获和分别处理。注意:多个catch子句中,前面catch的异常不能是后面catch异常的父类一般把捕获Exception异常的catch子句写在最后,能够捕获所有的异常。
try-catch语句后可以加finally子句写在finally子句中的语句无论异常是否产生,无论产生的异常是否捕获成功都要执行
处理异常
如果一个方法中存在未处理的异常,则需要在该方法头上用throws关键字声明该异常。通过异常声明可以将异常报告给方法的调用者。RuntimeException及其子类的异常可以不声明。
异常声明/异常报告
7.异常
基本类库java.lang 最基本的包,缺省引入java.util 包含了很多工具类
输入输出java.io 包含了很多通过流、串行化和文件系统进行输入输出的类
图形用户界面基础图形包awtjava.awtjava.awt.eventSwing包javax.swingjavax.swing.eventAppletjava.applet
基本数据类型的封装类:byte 的封装类是Byteshort 的封装类是Shortint 的封装类是Integerlong 的封装类型是Longfloat 的封装类型是Floatdouble 的封装类型是Doublechar 的封装类型是Characterboolean 的封装类型是Boolean
java.util.Date用于表示日期和时间Java.util.Calendar获取当前时间
常用类库
数组引用的定义:String[ ] s1;String s2[ ];int[ ] i1;int i2[ ];
创建多维数组int [][] a = new int[2][3];int [][][] b = new int[2][3][4];Circle [][] c = new Circle[2][3];多维数组元素的访问a[0][0]b[0][0][0]
数组
数组保存类型明确的对象,可以是多维的,也可以保存基本数据类型数据,但是数组一旦生成,其容量不能改变。Collection保存单一元素,而Map保存相关联的键值对。与数组类似,List也建立数字索引与对象的关联,可以认为数组和List都是排好顺序的集合。List是可以自动扩充容量。但是,List不能保存基本数据类型的数据,只能保存Object引用,因此,取元素后需要作类型转换。如果需要作大量的随机访问(检索),就使用数组或ArrayList,如果要经常从集合中插入或删除元素,应该使用LinkedList。队列、双向队列以及栈的行为,可以由LinkedList来实现。Map是一种将对象与对象相关联的设计。常见Hashtable、HashMap和TreeMap,其中HashMap与Hashtable相似,TreeMap侧重于排序。 Set不接受重复元素。HashSet提供最快的查询速度,而TreeSet保持元素处于排序状态。
List
8.类库*
Java复习大纲
0 条评论
回复 删除
下一页