一、 关键字与修饰符

1. 关键字

1.1 this

  1. 作用:区分局部变量和成员变量 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 作用范围

  1. private 表示私有,只有自己类能访问
  2. default(friendly)表示没有修饰符修饰,只有同一个包的类能访问
  3. protected表示可以被同一个包的类以及其他包中的子类访问
  4. 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 继承中构造方法的执行

代码块的执行先后顺序:
父类的静态代码块、子类的静态代码块 、父类代码块、父类的构造 、子类的代码块、子类的构造

3. 多态

3.1 多态的优点

  1. 实现代码的扩展性,从而符合开闭原则:对扩展开发 对修改是关闭
  2. 参数传递的时候可以使用父类来表示子类对象

    3.2 多态的满足条件

        A、继承(多态的前提是必须发生继承关系)<br />           B、重写(如果我们使用多态表示必须是子类和父类中共有的方法)<br />           C、父类引用指向子类对象
    

    3.3 多态的规则

    1. 成员变量的规则:编译看左侧,执行看左侧
    2. 成员方法的规则:编译看左侧,执行看右侧
    3. 成员静态方法的规则:编译看左侧,执行看左侧

      3.4 转型

      向上转型:(多态的写法)父类的引用指向子类对象
      向下转型:把父类对象还原成子类对象,向下转型后就可以调用子类的特有方法
      转型判断:使用 A instanceof B 判断A是否是B类或者是B类的子类