L 课程知识点调查表
〔填表说明:知识点掌握程度栏画√〞掌握程度分ABC三类中A:够相关知识点完成笔试中填空判断代码补全概念简答等B:够根程序需求运相关知识点编写完整程序代码C:够语言准确完整表述相关知识点该知识点典型应实例知识点ABC三项均选〕
编号
知识点名称
01
classpath设置作
类文件搜索路径
设置目录设置〔前目录〕
作:告诉java虚拟机寻找户定义类第三方提供类设置classpath变量JVM会着classpath变量中指定目录查找执行类文件classpath变量值值值间必须〞隔开
理解GC:
垃圾回收机制(garbage collection)回收失引存程序员强制执行垃圾清理建议回收机制般情况会建议进行程序语句负责建立释放存jvm动完成涉方法Finallize()进行垃圾整理清理垃圾整理存需手动完成GC前执行存整理工作〔般果cpu已占会启动释放程序果建议垃圾致占存少垃圾回收机制〕
02
path设置作
部文件搜索路径
设置javacexe应程序目录\java\jdk\bin目录
作:命令行窗口中机运行javacexe应程序时系统首先会前目录(c\Documents and Setting\admin)查找程序然会着path变量中设置路径继续查找果path没设置会出现’javac’部外部命令运行程序批处理文件〞错误
03
JAVA数类型( 包括根类型引类型)
8种根数类型:byteshortintlongfloatdoublecharboolean〔分应8种根数类型包装类finally继承外StringStringBuffer类finally〕
3种引数类型:类接口数组
04
JAVA根运算符号
1算术运算符:+*++
2关系运算符:<>><
3逻辑运算符:&|&&||
4位运算符:>><<>>>~^&|
5赋值运算符:+*
6字符串连接:
7条件运算符: a>bxy
(单目双目三目分类)
05
JAVA程序根控制语句〔if……elseswitch……casewhilefor〕
Java程序设计语言程序流程控制CC++根相总三种执行方式:序结构选择结构循环结构
选择语句条件语句两种:if…elseswitch…case
循环语句:whiledo…whilefor〔注意whiledo…while区for三条件〕
swtich里支持数类型四种? byte short char int JDK50中枚举类型
06
数组概念
数组类型属复合数类型类型相元素组成序数集合数组特点:元素类型相元素序元素公名称根组织数结构数组分维数组二维数组……
维数组声明:arraytype arrayName[]arraytype[] arrayName
初始化分:1静态初始化:String str[ ] {aaa〞〞bbb〞〞ccc〞} String[ ] str1 {111〞〞222〞〞333〞}
2动态初始化:char[ ] charName new char[5]
注意:动态初始化必须出长度否报错:缺少数组维数
二维数组声明:arraytype arrayName[][]arraytype[][] arrayName
初始化:1静态初始化2动态初始化:指定第位长度指定第二维
外数组具length属性
数组引数类型必须元素实例化否会出现空指针异常
07
方法声明
声明:修饰符 返回值类型 方法名 〔参数列表〕{方法体}
非静态方法中直接调非静态方法
非静态方法中直接调静态方法
静态方法中直接调静态方法
静态方法中调非静态方法需通象调
08
方法重载
方法重载态实现手段解决命名空间问题〔类中实现相功方法〕
满足条件:1方法名相 2方法参数类型参数数参数类型序 3返回值类型相
09
类定义
定义:修饰符 class 类名{
成员变量
方法
}
10
象产生
Java语言中关键字new调构造方法创立新象
类名 象名 new 类名〔〕
通象调方法修改属性值
11
匿名象
定义象引名称直接调方法次性
处:节省空间〔GC〕
果象需进行次调匿名象
常匿名象作实参传方法调完抛弃
12
实现类封装性
面象特征〔封装继承态抽象面象四特征〕
封装种信息隐蔽技术:
1采接口隐藏类实现细节
2类中属性封装Java中属性操作弱〔例年龄问题set方法中控制〕实现程序健壮性
成员变量private关键字修饰提供settergetter方法进行设置返回属性值
13
构造方法定义
1 构造方法定义:方法名类名相返回值类型方法中return返回值
2 构造方法实例化象时动调类中属性赋值
3 果类构造方法private修饰子类
4 new关键字创立象时会调构造方法
14
象拟〔〞equals()〞〕
〞运算符拟值(根数类型)引址〔引数类型〕
Equals() Object中方法没复写情况 样〔拟两象hashCode码〔散列码〕址〕String类复写object类equals方法拟两象容
String类覆写equals首先拟存址〔引〕果相返回真果继续拟拟字符串字符相等返回真相等返回假
15
类部调类方法
静态方法中直接调静态方法直接调非静态方法需通象调
非静态方法中直接调this关键字调
16
this关键字
区成员变量局部变量
1 调类中方法:a般方法 this方法名(实参列表)
b构造方法 this〔实参列表〕位构造方法首行
2 调类重属性(this属性名)
3 表示前象
4 super关键字时出现构造方法中
5 static修饰方法代码块中
17
构造方法重载
规般方法重载致〔参见08题〕
采new关键字创立象时会动调构造方法类中属性初始化
类中默认参构造器类中添加参数构造方法默认构造方法遗失
18
象引传递
Java中参数传递分根类型参数传递象类型〔引类型〕参数传递
根类型参数传递意味着实参值传递方法时果方法修改该参数改变形参原始实参值保持变
引类型变量传递参数传递方法方法接收引变量值值某象存址值引变量参数传递然值传递
19
static〔方法属性〕
声明成静态变量〔全局变量相类中实例化象象改变值象值改变〕
静态方法〔直接调非静态方法象方法调非静态方法中直接调静态方法类名方法调〕
静态代码块(静态成员进行初始化)类中优先函数构造方法执行
(三者关系:静态成员声明>静态代码块>构造方法 )
静态方法处:便调Java虚拟机性更
类中全静态方法:MathCollections Arrays
CollectionCollections区:
Collection接口通键值存放象存入子接口继承常setlist set存放重复象listset决定存放位置list手动存放方法ADD〔〕取值iterator取
〔象hashcode相象hashcode会相反例:
String s〞abc〞 String s1new String(abc〞) ss1hashcode样〕
collections类部全静态方法处理集合象处理象存放类中
20
象数组〔静态初始化动态初始化〕
1 声明静态初始化:
Person[] ps Person{ p1p2p3 } p1p2p3分Person象
2声明动态初始化
Person[] p象数组声明
pnew 类名[3]动态初始化
ps[0]new Person()分元素初始化
ps[0]name〞zhangsan〞
ps[0]age13
……
21
类继承
通继承简化类定义扩展类功
extends java支持单继承
继承is a〞关系
子类继承父类中非private属性方法
子类象实例化时默认调父类参构造方法〔子类构造方法首行〕
22
子类象实例化程
采new关键字实例化子类象时首先会默认调父类参构造方法接着调子类构造方法
23
方法覆写
作:扩展父类方法功
1 发生子类父类间
2 子类方法父类方法名参数返回值类型必须致
3 求子类方法访问权限父类访问权限
4 子类实例化父类象子类调父类方法时会默认调子类中覆写父类方法
5 子类继承父类方法访问权限扩缩publicprotecteddefault中protecteddefault区者必须包里private处代码隐藏安赋值限制果类中想外界写SET方法写GET方法〔赋值限制表达〕
publicprotecteddefaultprivate区
〔1〕public公包访问
〔2〕protecteddoGet()doPost()protected包继承包方法子类访问
〔3〕default(默认)包访问
〔4 private中访问
24
super
super调父类属性:super属性名
super调父类方法:super方法名〔实参列表〕
调父类中特定构造方法:super(实参列表)
调父类中构造方法时super〔〕必须放子类构造方法首行thissuper时调构造方法
super调父类中方法时会调子类中覆写方法果子类中没覆写父类中方法super调父类中方法
Ps:类构造方法果private修饰子类
25
thissuper区
this调类属性方法代表前象
super调父类属性方法
两者时调构造方法
26
final关键字
修饰符修饰变量方法类
final修饰变量常量赋值次
final修饰方法复写
final修饰类继承〔构造方法复写〕StringMathsfinal修饰类
27
抽象类
抽象类abstract关键字修饰抽象类仅提够类局部实现抽象类实例变量时抽象方法具体方法提供继承出发点呢实例化抽象类继承
直接实例化
抽象类子类抽象类实现抽象父类抽象方法〔复写〕
抽象类构造方法
28
接口
接口常量抽象方法集合
接口中普通方法变量常量必须赋值
接口实现继承〔接口继承接口继承类〕
类实现接口
接口构造方法
extendsimplements时出现extends写implements前面
抽象类实现接口必实现接口中抽象方法
Ps:抽象类接口区
抽象类接口Java面象体系中非常重两元素语法方面区面两方面答复问题:
第 接口抽象类语法区表达方面:
a) 类实现接口Object外类继承父类
b) 接口中方法抽象方法默认public权限抽象类中抽象方法没抽象方法
c) 接口中变量全部全局常量抽象类中定义类型变量
d) 抽象类中构造函数接口没
第二 方面接口会更接口更隐藏实现细节降低系统耦合度提高扩展性面谈开发中理解抽象类接口区:
a) 常设计模式中工厂模式赖诸模式DAO模式等接口抽象类模板模式中拟局限应
b) 常SpringHibernate中接口占例特Spring中模板模式改造成接口实现
说日常开发中接口更加频繁够更解耦合现面象提倡少继承面接口编程方法会更
29
象态性转型转型概念
象态性表现转型〔转型转型〕方法重载复写
1转型:求两转型象继承实现关系
转型:子类象转换成父类象动转换
父类象子类实例化
转型象调子类象特方法调方法子类身方法
转型:父类象转换成子类象需强制转换
发生转型发生转型
什方法时需转型:getAttribute()arraylist hashmap等connection象里get()方法滤器里方法
2方法重载态实现手段解决命名空间问题〔类中实现相功方法〕
满足条件:A方法名相
B方法参数类型参数数参数类型序
C返回值类型相
3方法覆写作:扩展父类方法功
A发生子类父类间
B子类方法父类名称参数返回值类型必须致
C求子类方法访问权限父类访问权限
转型时会容易发生classCastException错误什设计转型:ArrayList类方类型象称arr开发时放单类型相重新分配空间否取时候麻烦存放时add〔〕方法放Object类型象属引象放入放入字符串放入arradd()刻发生转型处实现更类型兼容象具体特征丧失精度丧失种类型中取出具体象类型找回精度发生转型
30
象态性抽象类接口应
面接口编程优点:1调者知道象具体属类
2象容易象〔样实现接口〕换
3象间连接必硬绑定类象增加灵活性
4松耦合性
5提高扩展性
缺点:设计复杂性增加
工厂模式面接口编程典型应
工厂模式OCP〔开放封闭法〕种解决方案
工厂模式原理: 1采面接口编程设计思想
2降低系统耦合度
3提高程序扩展性
组成局部: 1产品〔抽象产品〕接口抽象类实现
2具体产品抽象类〔产品〕子类实现接口〔产品〕类
3生产者〔工厂〕负责生成产品象
应产品:需求改变时需改变工厂产品实例
31
异常概念
异常程序中断错误中断正常指令流种事件通异常处理机制种结构化控方式处理运行时错误Java中异常类表示异常类继承javalang包中Throwable类
Throwable类两直接子类:Error〔表示编译运行错误程序进入死循环存溢出等Error处理般系统承java身提供相应Error处理机制〕Exception〔表示程序活动导致错误运算时数零等程序运行出现Exception时程序中参加异常处理代码程序继续运行直程序结束Exception检测处理产生相应异常处理机制〕
java编译器求方法必须声明抛出发生非运行时异常求必须声明抛出未捕获运行时异常
异常〔exceptionerror两者级继承throwable〕
(代码错轻易捕捉异常否容易存直存着NULL值问题例:表单中控件名name1〔户名应该name写错成name1〕servlet取name值name值null会报空指针异常错误假设时异常捕捉然报错数库里插入数户名值null〕
常见运行时异常:算数运算异常空指针数组标越界数字格式化异常类转换异常
常见异常:IO异常〔必须捕捉抛出〕SQLException ServletException ClassNotFoundExceptiom
异常:
1捕获异常:try…catch〔〕
2抛出异常:捕获异常象前try代码块中必须生成异常象抛出异常java虚拟机动抛出通throw语句手动抛出异常〔throw语句必须异常创立象仅抛出类型〕
3异常声明:某情况果方法产生处理异常必须throws字句中声明该异常属方法声明局部紧形参列表
4定义异常:继承Exception类推荐
32
Java类编写标准
1 名字必须标识符
2 类名接口名首字母写余单词首字母写
3 方法名首字母写余单词首字母写方法名量动词:getName
4 变量名方法名致变量名量名词
5 时变量简单
6 采意义单词
7 包名写
33
try…catch语句
try代码块中段产生异常代码称监控区域〞catch语句参数包括异常类型异常象该异常类型指明catch语句处理异常类型异常象try中产生{}中异常处理
try相关catch语句异常类型决定执行catch语句
执行序:1首先执行try代码块中语句
2 果try{}中异常产生执行catch〔〕{}直接执行catch语句
3 果try{}中异常产生发生异常语句会执行直接跳catch〔〕{}中执行序执行
4 果catch〔〕{}中异常类型产生执行序未捕获异常样
34
throwsthrow 方法
throws方法声明处表示方法处理该类异常交方法调处处理
throw方法部手动抛出异常象try…catch起throws起
35
finally关键字
代码会希try中异常否抛出执行异常处理程序加finally子句退出try…catch发生异常者发生异常会执行该段代码
finally必须异常中孤立少必须TRY语句〔try没catchfinally会报错trycatchfinally单独trycatchtry没catch行必须finally前否抛出异常会执行finally现try中加return语句 finally然会执行先执行finally执行returnfinally作关闭资源〕finalize〔〕GC清理垃圾前做整理工作方法
final修饰符
39
ListArrayList
List接口继承Collection接口定义允许重复项序集合接口够列表局部进行处理添加面位置操作
List两重实现类分:ArrayListLinkedList种取决特定需求果支持机访问必尾部位置插入删元素选ArrayList贵哦频繁列表中间位置添加删元素求序访问列表元素LinkedList更选择
LinkedList类添加处理列表两端元素方法轻松LinkedList作堆栈队列面端点数结构实现堆栈队列操作
ArrayList类封装动态分配Object[]数组ArrayList象数值数值表示存储列表中元素数组容量元素添加ArrayList时数值会常量时间动增加
ArrayListVector数组方式存储数数组元素数实际存储数便增加插入元素允许直接序号索引元素插入元素涉数组元素移动等存操作索引数快插入数慢Vectorsynchronized方法〔线程安〕通常性较ArrayList差LinkedList双链表实现存储序号索引数需进行前遍历插入数时需记录项前项插入速度较快
Arraylist
ABC存入arraylist取出Arraylist str new Arraylist()
stradd(A) stradd(B) stradd(C)
遍历取出for(int i 0i strget(i)}
者strget(0)strget(1)strget(2)
Arraylist作便传象该象存放类型象什时候涉什时候传递象时候时发挥价值
40
MapHashMap
Map接口Collection接口继承Map接口维护键值该接口描述重复键值映射〔注意:键值nullMap作键值添加身映射中键集合必须唯Set支持〕
集合框架中提狗狗两种常规Map实现:HashMapTreeMap〔TreeMap实现SortedMap接口〕Map中插入删定位元素HashMap正确选择果然序定义序遍历键TressMap更
HashMapHashTable区:
HashMapHashTable轻量级实现〔非线程安实现〕完成Map接口区HashMap允许空〔null〕键值〔key〕非线程安效率高Hashtable
HashMap允许null作entrykey者valueHashtable允许
HashMapHashTablecontains方法掉改成containsValuecontainsKeycontains方法容易引起误解
Hashtable继承Dictionary类HashMapJava12引进Map interface实现
HashTable方法SynchronizeHashMap线程访问HashTable时需方法实现步HashMap 必须提供外步
HashTableHashMap采hashrehash算法概样性会差异
41
SetTreeSetHashSet
Set接口继承Collection接口允许集合中存重复项具体Set实现类赖添加象equals()方法检查唯性Set没引入新方法SetCollection行
TreeSetHashSet集合框架支持Set接口两种普通实现数情况HashSet存储重复容器
HashSet快速查找设计Set存入HashSet象必须定义hashCode〔〕
TreeSet保持次序Set底层树结构Set中提取序序列
42
Iterator
Iterator遍历种集合中元素该接口描述统方式种集合元素进行遍历迭代工具称迭代器该接口中值定义简单方法:hasNext〔〕判断集合中否元素迭代next〔〕返回迭代元素remove〔〕前迭代元素迭代器指集合中移
般直接创立Iterator象通调集合象iterator()方法获取实际返回Iterator接口实现类象
43
StringStringBuffer区
String类StringBuffer类实现储存操作字符串包含字符字符数
(1) Stringfinal修饰继承 String 改变类String a〞b〞 String a〞c〞两a 2象a〞c〞时重新定义象String anew String〔〞b〞〕2象堆存里栈存里存a
(2) StringBuffer(解决创立象耗时问题)变方法append方法append方法时候StringBuffer anew StringBuffer()aappend(abc〞)aappend(efg〞)atoString()字符串StringBuffer变成String方法StringBuilder〔〕安方法实现起安执行速度快StringBuffer类表示容修改Unicode编码字符序列象创立保存字符串容长度修改实际StringBuffer象拥变容量字符串缓区该缓区容量着容增加动扩充直接设定
StringBuilderJDK50增加字符串处理类该类够提够StringBuffer相功区StringBuffer线程安StringBuilder保证象步性StringBuilder拥更高效率
常见类:
1 Sting2 ArrayList 3 HashMap4 Servlet(抽象类)5 Math6 Date7 StringBuffer 8Exception
String里常方法:
1Equals()2charAt()3length()(List里length属性String里方法括号)
4substring()5indexOf(int ch)6trim()7replace()(javaScript里换)8replaceAll()〔javaScript里换〕9valueOf()〔种根数类型转化String型〕
Srtring aString b区:String a空字符串调String类方法Stirng bnull值没开辟空间
Clone
象复制象:百度收信息需记录户次查询关键字先存存〔关键字放入Static ArrayList具享性Static修饰次户输入关键字时次new新ArrayList直接享〕入库〔〕
44
DateCalendar
45
线程 两种实现方式 场景 涉术语
1实现方法:继承Thread类实现Runnable接口
区:aRunnableThread接口数情况推荐继承接口方式生成线程接口实现线程Runnablerun()方法适合继承
b继承Thread时需new实例调start()方法启动线程Runnble时候需先new实现Runnable实例子类Thread调
2线程状态转换:新建态〔new〔〕〕绪态〔start〔〕〕运行态阻塞态终止态
3线程调度:Java线程调度定分时必须确保代码中线程会线程运行时机方法做:
A处运行状态线程调sleep()方法 线程睡眠 B处运行状态线程调yeild()方法 线程步 C处运行状态线程调线程join()方法〔非静态〕
正运行线程调线程join()方法正运行线程转阻塞状态直线程运行结束会恢复运行
sleep()yield()区:
A sleep〔〕方法会线程运行时机考虑线程优先级yield〔〕方法智慧相优先级更高优先级线程运行时机
B 线程执行sleep〔〕方法会转阻塞状态执行yield〔〕方法会转运行状态〔绪状态〕
C Sleep〔〕声明会抛出异常yield〔〕方法会
D Sleep〔〕yield〔〕方法具更移植性yield〔〕方法实现赖底层操作系统线程调度策略
5 线程步〔Thread Synchronization〕通synchronized关键字实现
线程步特点:a锁锁住步代码块 b锁非步代码块效 c线程进入步代码块意味着指定代码必须中断方式运行 d线程占某象锁需获锁线程进入锁池中等获锁时机
6线程通信:wait〔〕notify〔〕notifyAll()
7死锁:线程等线程持锁者正等已第线程持锁时会发生死锁〔必须手动结束〕
46
IO 根读写文文件操作
FileInputStreamFileoutStream
public void read(){
FileInputStream in
try {
in new FileInputStream(E\\sstxt)
int data
while((data inread()) 1){
Systemoutprintln(data + abc)
}
} catch (FileNotFoundException e) {
eprintStackTrace()
} catch (IOException e) {
eprintStackTrace()
}
}
public void write(){
try {
FileOutputStream fo new FileOutputStream(e\\asdtxt)
fowrite(getBytes())
foclose()
} catch (FileNotFoundException)
eprintStackTrace()
} catch (IOException e) {
eprintStackTrace()
}
}
字节流:InputStreamOutputStream
字符流:ReaderWriter
通InputStreamReaderOutputStreamWriter字节流转换成字符流
01
简述HTML文件根结构
标题局部
BODY间语法网页呈现局部
02
简述
〔填表说明:知识点掌握程度栏画√〞掌握程度分ABC三类中A:够相关知识点完成笔试中填空判断代码补全概念简答等B:够根程序需求运相关知识点编写完整程序代码C:够语言准确完整表述相关知识点该知识点典型应实例知识点ABC三项均选〕
编号
知识点名称
01
classpath设置作
类文件搜索路径
设置目录设置〔前目录〕
作:告诉java虚拟机寻找户定义类第三方提供类设置classpath变量JVM会着classpath变量中指定目录查找执行类文件classpath变量值值值间必须〞隔开
理解GC:
垃圾回收机制(garbage collection)回收失引存程序员强制执行垃圾清理建议回收机制般情况会建议进行程序语句负责建立释放存jvm动完成涉方法Finallize()进行垃圾整理清理垃圾整理存需手动完成GC前执行存整理工作〔般果cpu已占会启动释放程序果建议垃圾致占存少垃圾回收机制〕
02
path设置作
部文件搜索路径
设置javacexe应程序目录\java\jdk\bin目录
作:命令行窗口中机运行javacexe应程序时系统首先会前目录(c\Documents and Setting\admin)查找程序然会着path变量中设置路径继续查找果path没设置会出现’javac’部外部命令运行程序批处理文件〞错误
03
JAVA数类型( 包括根类型引类型)
8种根数类型:byteshortintlongfloatdoublecharboolean〔分应8种根数类型包装类finally继承外StringStringBuffer类finally〕
3种引数类型:类接口数组
04
JAVA根运算符号
1算术运算符:+*++
2关系运算符:<>><
3逻辑运算符:&|&&||
4位运算符:>><<>>>~^&|
5赋值运算符:+*
6字符串连接:
7条件运算符: a>bxy
(单目双目三目分类)
05
JAVA程序根控制语句〔if……elseswitch……casewhilefor〕
Java程序设计语言程序流程控制CC++根相总三种执行方式:序结构选择结构循环结构
选择语句条件语句两种:if…elseswitch…case
循环语句:whiledo…whilefor〔注意whiledo…while区for三条件〕
swtich里支持数类型四种? byte short char int JDK50中枚举类型
06
数组概念
数组类型属复合数类型类型相元素组成序数集合数组特点:元素类型相元素序元素公名称根组织数结构数组分维数组二维数组……
维数组声明:arraytype arrayName[]arraytype[] arrayName
初始化分:1静态初始化:String str[ ] {aaa〞〞bbb〞〞ccc〞} String[ ] str1 {111〞〞222〞〞333〞}
2动态初始化:char[ ] charName new char[5]
注意:动态初始化必须出长度否报错:缺少数组维数
二维数组声明:arraytype arrayName[][]arraytype[][] arrayName
初始化:1静态初始化2动态初始化:指定第位长度指定第二维
外数组具length属性
数组引数类型必须元素实例化否会出现空指针异常
07
方法声明
声明:修饰符 返回值类型 方法名 〔参数列表〕{方法体}
非静态方法中直接调非静态方法
非静态方法中直接调静态方法
静态方法中直接调静态方法
静态方法中调非静态方法需通象调
08
方法重载
方法重载态实现手段解决命名空间问题〔类中实现相功方法〕
满足条件:1方法名相 2方法参数类型参数数参数类型序 3返回值类型相
09
类定义
定义:修饰符 class 类名{
成员变量
方法
}
10
象产生
Java语言中关键字new调构造方法创立新象
类名 象名 new 类名〔〕
通象调方法修改属性值
11
匿名象
定义象引名称直接调方法次性
处:节省空间〔GC〕
果象需进行次调匿名象
常匿名象作实参传方法调完抛弃
12
实现类封装性
面象特征〔封装继承态抽象面象四特征〕
封装种信息隐蔽技术:
1采接口隐藏类实现细节
2类中属性封装Java中属性操作弱〔例年龄问题set方法中控制〕实现程序健壮性
成员变量private关键字修饰提供settergetter方法进行设置返回属性值
13
构造方法定义
1 构造方法定义:方法名类名相返回值类型方法中return返回值
2 构造方法实例化象时动调类中属性赋值
3 果类构造方法private修饰子类
4 new关键字创立象时会调构造方法
14
象拟〔〞equals()〞〕
〞运算符拟值(根数类型)引址〔引数类型〕
Equals() Object中方法没复写情况 样〔拟两象hashCode码〔散列码〕址〕String类复写object类equals方法拟两象容
String类覆写equals首先拟存址〔引〕果相返回真果继续拟拟字符串字符相等返回真相等返回假
15
类部调类方法
静态方法中直接调静态方法直接调非静态方法需通象调
非静态方法中直接调this关键字调
16
this关键字
区成员变量局部变量
1 调类中方法:a般方法 this方法名(实参列表)
b构造方法 this〔实参列表〕位构造方法首行
2 调类重属性(this属性名)
3 表示前象
4 super关键字时出现构造方法中
5 static修饰方法代码块中
17
构造方法重载
规般方法重载致〔参见08题〕
采new关键字创立象时会动调构造方法类中属性初始化
类中默认参构造器类中添加参数构造方法默认构造方法遗失
18
象引传递
Java中参数传递分根类型参数传递象类型〔引类型〕参数传递
根类型参数传递意味着实参值传递方法时果方法修改该参数改变形参原始实参值保持变
引类型变量传递参数传递方法方法接收引变量值值某象存址值引变量参数传递然值传递
19
static〔方法属性〕
声明成静态变量〔全局变量相类中实例化象象改变值象值改变〕
静态方法〔直接调非静态方法象方法调非静态方法中直接调静态方法类名方法调〕
静态代码块(静态成员进行初始化)类中优先函数构造方法执行
(三者关系:静态成员声明>静态代码块>构造方法 )
静态方法处:便调Java虚拟机性更
类中全静态方法:MathCollections Arrays
CollectionCollections区:
Collection接口通键值存放象存入子接口继承常setlist set存放重复象listset决定存放位置list手动存放方法ADD〔〕取值iterator取
〔象hashcode相象hashcode会相反例:
String s〞abc〞 String s1new String(abc〞) ss1hashcode样〕
collections类部全静态方法处理集合象处理象存放类中
20
象数组〔静态初始化动态初始化〕
1 声明静态初始化:
Person[] ps Person{ p1p2p3 } p1p2p3分Person象
2声明动态初始化
Person[] p象数组声明
pnew 类名[3]动态初始化
ps[0]new Person()分元素初始化
ps[0]name〞zhangsan〞
ps[0]age13
……
21
类继承
通继承简化类定义扩展类功
extends java支持单继承
继承is a〞关系
子类继承父类中非private属性方法
子类象实例化时默认调父类参构造方法〔子类构造方法首行〕
22
子类象实例化程
采new关键字实例化子类象时首先会默认调父类参构造方法接着调子类构造方法
23
方法覆写
作:扩展父类方法功
1 发生子类父类间
2 子类方法父类方法名参数返回值类型必须致
3 求子类方法访问权限父类访问权限
4 子类实例化父类象子类调父类方法时会默认调子类中覆写父类方法
5 子类继承父类方法访问权限扩缩publicprotecteddefault中protecteddefault区者必须包里private处代码隐藏安赋值限制果类中想外界写SET方法写GET方法〔赋值限制表达〕
publicprotecteddefaultprivate区
〔1〕public公包访问
〔2〕protecteddoGet()doPost()protected包继承包方法子类访问
〔3〕default(默认)包访问
〔4 private中访问
24
super
super调父类属性:super属性名
super调父类方法:super方法名〔实参列表〕
调父类中特定构造方法:super(实参列表)
调父类中构造方法时super〔〕必须放子类构造方法首行thissuper时调构造方法
super调父类中方法时会调子类中覆写方法果子类中没覆写父类中方法super调父类中方法
Ps:类构造方法果private修饰子类
25
thissuper区
this调类属性方法代表前象
super调父类属性方法
两者时调构造方法
26
final关键字
修饰符修饰变量方法类
final修饰变量常量赋值次
final修饰方法复写
final修饰类继承〔构造方法复写〕StringMathsfinal修饰类
27
抽象类
抽象类abstract关键字修饰抽象类仅提够类局部实现抽象类实例变量时抽象方法具体方法提供继承出发点呢实例化抽象类继承
直接实例化
抽象类子类抽象类实现抽象父类抽象方法〔复写〕
抽象类构造方法
28
接口
接口常量抽象方法集合
接口中普通方法变量常量必须赋值
接口实现继承〔接口继承接口继承类〕
类实现接口
接口构造方法
extendsimplements时出现extends写implements前面
抽象类实现接口必实现接口中抽象方法
Ps:抽象类接口区
抽象类接口Java面象体系中非常重两元素语法方面区面两方面答复问题:
第 接口抽象类语法区表达方面:
a) 类实现接口Object外类继承父类
b) 接口中方法抽象方法默认public权限抽象类中抽象方法没抽象方法
c) 接口中变量全部全局常量抽象类中定义类型变量
d) 抽象类中构造函数接口没
第二 方面接口会更接口更隐藏实现细节降低系统耦合度提高扩展性面谈开发中理解抽象类接口区:
a) 常设计模式中工厂模式赖诸模式DAO模式等接口抽象类模板模式中拟局限应
b) 常SpringHibernate中接口占例特Spring中模板模式改造成接口实现
说日常开发中接口更加频繁够更解耦合现面象提倡少继承面接口编程方法会更
29
象态性转型转型概念
象态性表现转型〔转型转型〕方法重载复写
1转型:求两转型象继承实现关系
转型:子类象转换成父类象动转换
父类象子类实例化
转型象调子类象特方法调方法子类身方法
转型:父类象转换成子类象需强制转换
发生转型发生转型
什方法时需转型:getAttribute()arraylist hashmap等connection象里get()方法滤器里方法
2方法重载态实现手段解决命名空间问题〔类中实现相功方法〕
满足条件:A方法名相
B方法参数类型参数数参数类型序
C返回值类型相
3方法覆写作:扩展父类方法功
A发生子类父类间
B子类方法父类名称参数返回值类型必须致
C求子类方法访问权限父类访问权限
转型时会容易发生classCastException错误什设计转型:ArrayList类方类型象称arr开发时放单类型相重新分配空间否取时候麻烦存放时add〔〕方法放Object类型象属引象放入放入字符串放入arradd()刻发生转型处实现更类型兼容象具体特征丧失精度丧失种类型中取出具体象类型找回精度发生转型
30
象态性抽象类接口应
面接口编程优点:1调者知道象具体属类
2象容易象〔样实现接口〕换
3象间连接必硬绑定类象增加灵活性
4松耦合性
5提高扩展性
缺点:设计复杂性增加
工厂模式面接口编程典型应
工厂模式OCP〔开放封闭法〕种解决方案
工厂模式原理: 1采面接口编程设计思想
2降低系统耦合度
3提高程序扩展性
组成局部: 1产品〔抽象产品〕接口抽象类实现
2具体产品抽象类〔产品〕子类实现接口〔产品〕类
3生产者〔工厂〕负责生成产品象
应产品:需求改变时需改变工厂产品实例
31
异常概念
异常程序中断错误中断正常指令流种事件通异常处理机制种结构化控方式处理运行时错误Java中异常类表示异常类继承javalang包中Throwable类
Throwable类两直接子类:Error〔表示编译运行错误程序进入死循环存溢出等Error处理般系统承java身提供相应Error处理机制〕Exception〔表示程序活动导致错误运算时数零等程序运行出现Exception时程序中参加异常处理代码程序继续运行直程序结束Exception检测处理产生相应异常处理机制〕
java编译器求方法必须声明抛出发生非运行时异常求必须声明抛出未捕获运行时异常
异常〔exceptionerror两者级继承throwable〕
(代码错轻易捕捉异常否容易存直存着NULL值问题例:表单中控件名name1〔户名应该name写错成name1〕servlet取name值name值null会报空指针异常错误假设时异常捕捉然报错数库里插入数户名值null〕
常见运行时异常:算数运算异常空指针数组标越界数字格式化异常类转换异常
常见异常:IO异常〔必须捕捉抛出〕SQLException ServletException ClassNotFoundExceptiom
异常:
1捕获异常:try…catch〔〕
2抛出异常:捕获异常象前try代码块中必须生成异常象抛出异常java虚拟机动抛出通throw语句手动抛出异常〔throw语句必须异常创立象仅抛出类型〕
3异常声明:某情况果方法产生处理异常必须throws字句中声明该异常属方法声明局部紧形参列表
4定义异常:继承Exception类推荐
32
Java类编写标准
1 名字必须标识符
2 类名接口名首字母写余单词首字母写
3 方法名首字母写余单词首字母写方法名量动词:getName
4 变量名方法名致变量名量名词
5 时变量简单
6 采意义单词
7 包名写
33
try…catch语句
try代码块中段产生异常代码称监控区域〞catch语句参数包括异常类型异常象该异常类型指明catch语句处理异常类型异常象try中产生{}中异常处理
try相关catch语句异常类型决定执行catch语句
执行序:1首先执行try代码块中语句
2 果try{}中异常产生执行catch〔〕{}直接执行catch语句
3 果try{}中异常产生发生异常语句会执行直接跳catch〔〕{}中执行序执行
4 果catch〔〕{}中异常类型产生执行序未捕获异常样
34
throwsthrow 方法
throws方法声明处表示方法处理该类异常交方法调处处理
throw方法部手动抛出异常象try…catch起throws起
35
finally关键字
代码会希try中异常否抛出执行异常处理程序加finally子句退出try…catch发生异常者发生异常会执行该段代码
finally必须异常中孤立少必须TRY语句〔try没catchfinally会报错trycatchfinally单独trycatchtry没catch行必须finally前否抛出异常会执行finally现try中加return语句 finally然会执行先执行finally执行returnfinally作关闭资源〕finalize〔〕GC清理垃圾前做整理工作方法
final修饰符
39
ListArrayList
List接口继承Collection接口定义允许重复项序集合接口够列表局部进行处理添加面位置操作
List两重实现类分:ArrayListLinkedList种取决特定需求果支持机访问必尾部位置插入删元素选ArrayList贵哦频繁列表中间位置添加删元素求序访问列表元素LinkedList更选择
LinkedList类添加处理列表两端元素方法轻松LinkedList作堆栈队列面端点数结构实现堆栈队列操作
ArrayList类封装动态分配Object[]数组ArrayList象数值数值表示存储列表中元素数组容量元素添加ArrayList时数值会常量时间动增加
ArrayListVector数组方式存储数数组元素数实际存储数便增加插入元素允许直接序号索引元素插入元素涉数组元素移动等存操作索引数快插入数慢Vectorsynchronized方法〔线程安〕通常性较ArrayList差LinkedList双链表实现存储序号索引数需进行前遍历插入数时需记录项前项插入速度较快
Arraylist
ABC存入arraylist取出Arraylist str new Arraylist()
stradd(A) stradd(B) stradd(C)
遍历取出for(int i 0i
者strget(0)strget(1)strget(2)
Arraylist作便传象该象存放类型象什时候涉什时候传递象时候时发挥价值
40
MapHashMap
Map接口Collection接口继承Map接口维护键值该接口描述重复键值映射〔注意:键值nullMap作键值添加身映射中键集合必须唯Set支持〕
集合框架中提狗狗两种常规Map实现:HashMapTreeMap〔TreeMap实现SortedMap接口〕Map中插入删定位元素HashMap正确选择果然序定义序遍历键TressMap更
HashMapHashTable区:
HashMapHashTable轻量级实现〔非线程安实现〕完成Map接口区HashMap允许空〔null〕键值〔key〕非线程安效率高Hashtable
HashMap允许null作entrykey者valueHashtable允许
HashMapHashTablecontains方法掉改成containsValuecontainsKeycontains方法容易引起误解
Hashtable继承Dictionary类HashMapJava12引进Map interface实现
HashTable方法SynchronizeHashMap线程访问HashTable时需方法实现步HashMap 必须提供外步
HashTableHashMap采hashrehash算法概样性会差异
41
SetTreeSetHashSet
Set接口继承Collection接口允许集合中存重复项具体Set实现类赖添加象equals()方法检查唯性Set没引入新方法SetCollection行
TreeSetHashSet集合框架支持Set接口两种普通实现数情况HashSet存储重复容器
HashSet快速查找设计Set存入HashSet象必须定义hashCode〔〕
TreeSet保持次序Set底层树结构Set中提取序序列
42
Iterator
Iterator遍历种集合中元素该接口描述统方式种集合元素进行遍历迭代工具称迭代器该接口中值定义简单方法:hasNext〔〕判断集合中否元素迭代next〔〕返回迭代元素remove〔〕前迭代元素迭代器指集合中移
般直接创立Iterator象通调集合象iterator()方法获取实际返回Iterator接口实现类象
43
StringStringBuffer区
String类StringBuffer类实现储存操作字符串包含字符字符数
(1) Stringfinal修饰继承 String 改变类String a〞b〞 String a〞c〞两a 2象a〞c〞时重新定义象String anew String〔〞b〞〕2象堆存里栈存里存a
(2) StringBuffer(解决创立象耗时问题)变方法append方法append方法时候StringBuffer anew StringBuffer()aappend(abc〞)aappend(efg〞)atoString()字符串StringBuffer变成String方法StringBuilder〔〕安方法实现起安执行速度快StringBuffer类表示容修改Unicode编码字符序列象创立保存字符串容长度修改实际StringBuffer象拥变容量字符串缓区该缓区容量着容增加动扩充直接设定
StringBuilderJDK50增加字符串处理类该类够提够StringBuffer相功区StringBuffer线程安StringBuilder保证象步性StringBuilder拥更高效率
常见类:
1 Sting2 ArrayList 3 HashMap4 Servlet(抽象类)5 Math6 Date7 StringBuffer 8Exception
String里常方法:
1Equals()2charAt()3length()(List里length属性String里方法括号)
4substring()5indexOf(int ch)6trim()7replace()(javaScript里换)8replaceAll()〔javaScript里换〕9valueOf()〔种根数类型转化String型〕
Srtring aString b区:String a空字符串调String类方法Stirng bnull值没开辟空间
Clone
象复制象:百度收信息需记录户次查询关键字先存存〔关键字放入Static ArrayList具享性Static修饰次户输入关键字时次new新ArrayList直接享〕入库〔〕
44
DateCalendar
45
线程 两种实现方式 场景 涉术语
1实现方法:继承Thread类实现Runnable接口
区:aRunnableThread接口数情况推荐继承接口方式生成线程接口实现线程Runnablerun()方法适合继承
b继承Thread时需new实例调start()方法启动线程Runnble时候需先new实现Runnable实例子类Thread调
2线程状态转换:新建态〔new〔〕〕绪态〔start〔〕〕运行态阻塞态终止态
3线程调度:Java线程调度定分时必须确保代码中线程会线程运行时机方法做:
A处运行状态线程调sleep()方法 线程睡眠 B处运行状态线程调yeild()方法 线程步 C处运行状态线程调线程join()方法〔非静态〕
正运行线程调线程join()方法正运行线程转阻塞状态直线程运行结束会恢复运行
sleep()yield()区:
A sleep〔〕方法会线程运行时机考虑线程优先级yield〔〕方法智慧相优先级更高优先级线程运行时机
B 线程执行sleep〔〕方法会转阻塞状态执行yield〔〕方法会转运行状态〔绪状态〕
C Sleep〔〕声明会抛出异常yield〔〕方法会
D Sleep〔〕yield〔〕方法具更移植性yield〔〕方法实现赖底层操作系统线程调度策略
5 线程步〔Thread Synchronization〕通synchronized关键字实现
线程步特点:a锁锁住步代码块 b锁非步代码块效 c线程进入步代码块意味着指定代码必须中断方式运行 d线程占某象锁需获锁线程进入锁池中等获锁时机
6线程通信:wait〔〕notify〔〕notifyAll()
7死锁:线程等线程持锁者正等已第线程持锁时会发生死锁〔必须手动结束〕
46
IO 根读写文文件操作
FileInputStreamFileoutStream
public void read(){
FileInputStream in
try {
in new FileInputStream(E\\sstxt)
int data
while((data inread()) 1){
Systemoutprintln(data + abc)
}
} catch (FileNotFoundException e) {
eprintStackTrace()
} catch (IOException e) {
eprintStackTrace()
}
}
public void write(){
try {
FileOutputStream fo new FileOutputStream(e\\asdtxt)
fowrite(getBytes())
foclose()
} catch (FileNotFoundException)
eprintStackTrace()
} catch (IOException e) {
eprintStackTrace()
}
}
字节流:InputStreamOutputStream
字符流:ReaderWriter
通InputStreamReaderOutputStreamWriter字节流转换成字符流
01
简述HTML文件根结构
BODY间语法网页呈现局部
02
简述