抽象类&接口&内部类
抽象类
关键字abstract
//抽象类:类,extends
public abstract class Action{
//约束,后面实现
//abstract,抽象方法,只有方法名字,没有方法的实现
public abstract void doSomething();
}
抽象类只能单继承。
特点:
- 不能实例化抽象类,只能靠子类实现
- 抽象类可以写普通方法,普通类不能写抽象方法
- 抽象类不能被new出来,但是存在构造器,被子类调用来完成初始化工作,可以是public、protected修饰符,不能是private。
- 子类创建一定会调用父类构造器
接口
关键字:interface
普通类:只有具体实现
抽象类:具体实现和规范(抽象方法)都有
接口:只有规范,无法写方法—专业的约束!约束与现实分离:面向接口编程
public interface Demo{
//接口中所有的定义的方法都是抽象的public abstract
void add(String name);
}
//接口需要有实现类,实现类必须重写接口所有方法
public class test implements Demo{
@Override
public void add(String name){
}
}
利用接口可以实现多继承。
接口不能被实例化
内部类
在类中定义类
通过外部类实例化内部类
非静态内部类可以获得外部类的私有属性
静态内部类不可以获得外部类的私有属性
局部内部类,定义在方法中的类
浙公网安备 33010602011771号