1. 接口(interface) : 一个类只能有一个父类, 但是可以实现多个接口
2. 多态(polymorphism) : 多态的前提: 必须存在继承或者实现关系
3. 多态情况下的访问 :
a) 多态情况下, 子类和父类存在同名的(静态和非静态)的成员属性时, 访问的是父类的成员属性
b) 多态情况下, 子类和父类存在同名的静态方法,调用的是父类的静态方法
c) 多态情况下, 子类和父类存在同名的成员方法时, 调用的是子类的成员方法
d) 多态情况下, 父类不能调用子类特有的所有方法和属性
4. 内部类 :
a) 内部类就是在类中定义另一个类
b) 内部类的class文件是Outer$Inner格式的, 明确的表示该内部类的外部类是哪个
5. 成员内部类的访问方式 :
a) 在外部类中提供公共的创建内部类的方法
b) 在其他类中使用 外部类.内部类变量名 = new 外部类().new 内部类();的方式
6. 局部内部类 :
a) 在一个方法中定义一个类, 这个类就称作局部内部类
b) 局部内部类在访问局部变量的时候, 那么该局部变量必须为final修饰的, 因为如果不用final修饰, 那么局部变量和局部内部类的声明周期会不同
7. 匿名内部类 :
a) 匿名内部类可以简化缩写
b) 使用匿名内部类的前提是必须存在继承或者实现关系
8. 异常(Exception)的处理方式 :
a) 捕获异常 :
try{
//可能会出现异常的代码
}catch(异常类型变量名){
//异常处理代码
}
b) 继续抛出异常 :
public void 方法名() throws 异常类型{
}
9. 捕获异常需要注意的地方 :
a) 在try中出现异常后, 那么就会执行catch中的代码, 然后继续向下执行
b) 在try中出现异常后, 那么出现异常的语句后面的语句将不会执行
c) 在try-catch中的catch捕获的异常可以是多个, 但是顺序必须是从小到大, 否则会编译错误