一、 关键字与修饰符
1. 关键字
1.1 this
作用:区分局部变量和成员变量 this:本质就是当前对象的地址<br /> [1]this.属性名 <br /> [2]this()---调用本类中其他构造器,必须放到第一行
1.2 super
代表父类<br /> [1]super.属性名:调用父类中变量<br /> [2]super.方法名:调用父类中方法<br /> [3]super():调用父类中构造器必须放到第一行<br /> [4]this()和super()不可以混用<br />
1.3 static
[1] static是被所有的对象共享的,而不是属于某一个对象<br /> [2]static修饰变量可以直接类名.变量名即可,不需要创建对象<br /> [3]static修饰的方法不可以直接使用外部非静态变量和方法<br /> [4]static修饰的方法中不可以使用this关键字<br /> [5]static修饰的代码块是在类加载的时候执行的
1.4. final
可以修饰变量 方法 类<br /> [1]final修饰的变量是常量,既然是常量值只可以被赋值一次<br /> [2]final修饰的方法:不可以被重写,可以被重载<br /> [3]final修饰的类不可以被继承
2. 权限修饰符
2.1 作用范围
- private 表示私有,只有自己类能访问
- default(friendly)表示没有修饰符修饰,只有同一个包的类能访问
- protected表示可以被同一个包的类以及其他包中的子类访问
- public表示可以被该项目的所有包中的所有类访问
权限修饰符: private(同一个类)、默认(同一个包)、protected(不同包必须是子类继承)、public(所有包下都可以访问)
2.2 类的成员变量的处理
一般使用private访问权限修饰成员变量。
提供相应的get/set方法来访问相关属性,这些方法通常是public修饰的,以提供对属性的赋值与读取操作(注意:boolean变量的get方法是is开头!)。
一些只用于本类的辅助性方法可以用private修饰,希望其他类调用的方法用public修饰。
2.3 类的处理
类只能使用public和默认来修饰
默认:当前包
public:当前项目的所有包
public类要求类名和文件名相同,一个java文件中至多一个public类方法
二、 面向对象的三大特征
1. 封装
通过private进行私有化实现封装:
[1]安全、实现代码的复用、高内聚低耦合
[2]私有的属性 公共的get/set方法 布尔类型的变量get方法名称是isXXX
2. 继承
2.1 继承
[1]实现代码的复用 、提升代码的扩展性<br /> [2]继承是可以继承父类中所有的方法和属性,但是不一定可以访问<br /> [3]构造方法是不可以被继承<br /> [4]通过extends关键字进行单继承即可
2.2 继承中的方法重写
[1]父类的方法不能满足子类的要求,这个时候就需要重写<br /> [2]重写满足的条件:<br /> 两个类中发生重写<br /> 方法名、参数列表必须一致 <br /> 返回值小于等于父类中<br /> 子类修饰符必须大于等于父类中<br /> [3]使用final修饰的方法不可以被重写<br /> [4]使用static修饰的方法不可以被重写<br /> [5]子类中抛出异常要小于等于父类中的异常<br /> [6]可以使用@override帮助我们检验当前方法是否重写<br /> --------------------------------
2.3 继承中构造方法的执行
代码块的执行先后顺序:
父类的静态代码块、子类的静态代码块 、父类代码块、父类的构造 、子类的代码块、子类的构造