抽象类
抽象类就是只声明方法的存在而不去实现它的类。
特点:
1.抽象类不能被实例化
2.抽象类中可以只定义成员变量和普通方法
3.抽象类在class前加abstract
4.有抽象方法的类必须定义成抽象类
5.抽象方法不能用private或者static修饰
内部类
如果在一个类中再定义一个类,就将在类中再定义的那个类称为内部类。
1.成员内部类
特点:
(1)内部类中可以随意使用外部类的成员方法及变量
(2)内部类的实例一定要绑在外部类的实例上
(3)在内部类中调用的this为该内部类
2.局部内部类
定义:在类的方法中定义的内部类
特点:
(1)作用范围在方法体内
(2)该内部类可以访问当前代码块的常量以及外部类的所有成员
3.匿名内部类
特点:
(1)以对象名替代内部类的名字
(2)使用默认构造方法生成匿名内部类的对象
4.静态内部类
特点:
(1)创建静态内部类的对象,不需要其外部类的对象
(2)不能访问外部类的对象
内部类的继承
内部类的继承遵循统一的语法
Out类继承 A类内部的B类
1. ............... extends A.B
2.Out类必须有一个带参数的构造方法,该参数为A类
3.构造方法中使用 a.super() 语句 (A a)
反射
在Object类中定义了一个getClass()方法,该方法返回一个类型为Class的对象
提供了访问构造方法,成员变量,方法的大量API