面向对象有哪些特征
- 抽象
- 封装
- 继承
- 多态
多态的实现机制
- 方法的重载
重载是指再 统一个类中,方法名相同参数不同的多个方法,是属于编译时多态 - 方法的覆盖
子类可以覆盖父类的方法,因此同样的方法再父类和子类中有着不同的表现形式,是属于运行时多态
抽象类和接口的异同
- 相同点
1)都不能被实例化
2)接口的实现类或抽象方法的子类都只有实现类接口或抽象类的方法才能被实例化 - 不同点
1)接口只有定义,其方法不能再接口中实现;而抽象类可以有定义与实现
2)接口需要有到实现implements关键字,抽象类只能被继承extends
3)接口强调特定功能的实现,设计理念为has-a关系,抽象强调从属关系,其设计理念为is-a
4)接口的成员变量默认为public static final,必须赋初始值,所有成员方法只能被public、abstract修饰;抽象类可以有自己的成员变量数据,也可以有非抽象的方法
内部类有哪几种
- 静态内部类
- 成员内部类
- 局部内部类
- 匿名内部类
如何获取父类的类名
使用getClass().getSuperClass().getName()方法获取