接口:
1.里面属性都是常量
2.一定是public,final,static修饰
3.不可以有构造方法
4.里面的方法都是抽象方法
5.接口之间可以多继承
抽象类:
1.里面可以有普通变量
2.可以有构造方法
3.可以有非抽象方法
4.只能单继承
注意:
接口和接口之间只能继承,也可以多继承;
抽象类只能实现接口,但是没与必要实现里面所有方法;
一个普通类实现一个接口的话,一定要实现里面所有的抽象方法;
抽象类和类可以相互继承;
接口不能继承或实现普通类;
抽象(abstract)和本地方法(native)都没有方法体
内部类:
更好封装 匿名内部类 其它内部类
<1>成员内部类 类体内方法体外 单例模式
class 类名{ } 可以用protected private public 修饰
<2>静态内部类:调用静态外部类
<3>匿名内部类:可以出现在任何地方 new 抽象类或接口 名字不显示
<4>局部内部类:在方法体中
内部类想要使用外部类属性,需要将外部类属性设为final,使外部类属性不可变,不会指向另一个对象。
原文:https://www.cnblogs.com/kugai/p/14640784.html