抽象类
-
用abstract修饰的类就是抽象类
-
用abstract修饰的方法:抽象方法,只有方法名,没有方法的实现-----它是用来让子类实现的。
-
抽象类不能new,只能靠子类去实现
-
子类继承抽象类,那么必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类
-
抽象类中可以写普通方法
-
抽象方法必须在抽象类中
-
抽象的抽象----相当于一个约束
-
存在意义:提高开发效率
接口
- 区别
- 普通类:只有具体实现(方法)
- 抽象类:具体实现(方法)和规范(抽象方法)都有
- 接口:只有规范(抽象方法)-------约束和实现分离:面向接口编程
- 接口就是规范-------定义一些方法让不同的类实现(必须实现)
- OO的精髓
- Interface定义的关键字就是接口
- 接口中的方法默认public abstract(抽象方法)
- 接口中的属性默认public abstract final(常量)
- 接口不能被实例化没有构造方法
- implements可以实现多个接口
内部类
-
内部类就是在一个类的内部定义一个类
- 成员内部类
- 静态内部类
- 局部内部类
- 匿名内部类
-
package //外部类 public class A{ private int a=10; //内部类 public class B{ //获得外部类的私有属性,调用时 A a = new A(); A.B b = a.new B(); System.out.print(a); } //静态内部类 public static class C{ //只能调用静态属性 不能调用a } public void method(){ //局部内部类 class D{ } } //匿名内部类 new E().run(); } //内部类 class E{//不能用public public void run(){ } }
学习地址
https://www.bilibili.com/video/BV12J41137hu?p=1