第五章——面向对象(基础篇)
- 面向对象与面向过程
- 面向对象:封装,继承,多态
- String
方法摘要 |
|
char |
charAt(int index) |
boolean |
contains(CharSequence s) |
boolean |
contentEquals(StringBuffer sb) |
boolean |
|
boolean |
|
boolean |
equalsIgnoreCase(String anotherString) |
byte[] |
getBytes() |
byte[] |
getBytes(Charset charset) |
int |
hashCode() |
int |
indexOf(int ch) |
int |
indexOf(int ch, int fromIndex) |
intern() |
|
boolean |
|
int |
lastIndexOf(int ch) |
int |
length() |
boolean |
|
replace(char oldChar, char newChar) |
|
replaceAll(String regex, String replacement) |
|
String[] |
|
boolean |
startsWith(String prefix) |
boolean |
startsWith(String prefix, int toffset) |
substring(int beginIndex) |
|
substring(int beginIndex, int endIndex) |
|
char[] |
toCharArray() |
toLowerCase() |
|
toString() |
|
toUpperCase() |
|
trim() |
- this关键字
表示类中的属性
调用本类的构造方法
表示当前对象
- static关键字
static对象是所有对象共享的
- java常用内存区域 栈内存空间:保存所有的对象名称
堆内存空间:保存每个对象的具体属性内容
全局数据区:保存static类型的属性
全局代码区:保存所有的方法定义
- 代码块
普通代码块,构造块,静态代码块,同步代码块
构造块优先于构造方法执行,而且每次实例化对象时都会执行构造块中的代码,会执行多次
静态代码块优先于主方法执行,而在类中定义的静态代码块会优先于构造块执行,而且不管有多少对象产生,静态代码块只执行一次
- 单例模式:控制实例化对象的产生
- 内部类:可以方便的访问外部类的私有属性
成员内部类:Outer.Inner in=new Outer().new Inner()
static内部类:Outer.Inner in=new Outer.Inner()
在方法中定义内部类:方法中的参数想要被内部类访问,则参数前加上final
匿名内部类:在接口和抽象类的应用上发展起来的,可以实例化接口和抽象类
第六章——面向对象(高级篇)
- 继承
子类对象在实例化前会先调用父类的构造方法
- 覆盖、覆写、重载
- this与super
- final:意为最终,也可以成为完结器
final声明的变量即为常量,常量不可以修改
final声明的方法不能被子类覆写
final声明的类不能有子类
- 普通类与抽象类与接口
- final,static,final static
- 多态:方法的重载与覆写,对象的多态性
对象多态性:向上转型与向下转型
程序会自动完成向上转型
对象向下转型前,必须首先发生对象向上转型
- Instanceof:返回boolean值,判断对象是哪个类的实例
- 工厂设计、代理设计、适配器设计
- Object类
|
clone |
|
|
|
getClass |
|
hashCode |
|
notify |
|
notifyAll |
toString |
|
|
wait |
|
wait |
- 包装类:为了遵守“一切即对象”的思想,将8种基本类型包装成一个类的形式
第七章——异常的捕捉和处理
- 异常类的继承结构
最常用的类Exception和Error都是Throwable的子类
- Java异常处理机制
Java中所有捕获范围小的异常必须放在捕获范围大的异常之前
- throws与throw
throws声明的方法表示此方法不处理异常,而交给方法的调用处进行处理异常,而交给调用处处理,不管是否会有异常,在调用处进行异常处理
throw人为的抛出一个异常,抛出时直接抛出异常的实例化对象
- RunntimeException类
RunntimeException类是Exception类的子类,可以不用try…catch进行处理
- 自定义异常:继承Exception类
- 断言
断言就是肯定某一个结果的返回值是正确的,如果最终此结果的返回值是错误的,会提示错误信息
最然断言的返回的是boolean值,但是并不能将其作为条件判断的语句
第八章——包的访问控制权限
- 系统常见包
java.lang
基本的包,自动导入
java.lang.reflect
反射机制的包
java.util
工具包,一些常见的类库、日期操作等都在此包中
java.sql
数据库操作包
java.io
输入、输出处理
- 静态导入
如果一个类中的方法全部是使用static声明的静态方法,则在导入时就可以使用import static的方式导入
- 访问控制权限
|
Private |
Default |
Protected |
public |
只用本类内部可访问 |
√ |
√ |
√ |
√ |
同一包中的类(包括子类,以及以对象.成员) |
|
√ |
√ |
√ |
其它包中的子类 |
|
|
√ |
√ |
其它包中的类 |
|
|
|
√ |
这里的可见、可访问指的是能不能通过 ”类的对象.变量名“的方式访问,这是因为除static声明的变量属于类变量外,其他的都属于实例变量,是属于某个对象的!
- Java命名规则
变量名可以由英文字母、数字、下划线、和美元符号组成,但标识符不能以数字开头