抽象类和抽象方法:
对于一个类中行为没有具体的实施过程时
一般建议使用抽象类来设计,存放某个特定方法以便子类继承重写后调用
抽象类的声明:
[修饰符] abstract class 类名{}
特点:
1.抽象类不能直接实例化对象
但是可以通过子类向上转型得到该类型对象
2.抽象类也有构造器(所有的都有构造器)
3.抽象类和普通类使用是一样
就是多了可以存放抽象方法
4.抽象类中可以没有抽象方法
但是一个类中有抽象方法
那么这个类必须是抽象类
抽象方法的声明:
[修饰符] abstract 返回值类 方法名(参数列表);
1.没有方法体 连{}也没用 直接分号结束
2.抽象方法的具体实施是靠子类重写后实现
接口:
在实际项目中 作为一个标准或约定
接口的声明:
[修饰符] interface 接口名{
[常量]//默认使用public static final修饰
[抽象方法]//默认使用public abstract
}
特点:
1.将class替换interface
接口只能存放常量和抽象方法
2.接口没有构造器
3.接口不能实例化对象
但是可以通过实现类向上转型得到该类型对象
(implements实现的使用和继承是类似)
4.抽象方法时靠实现类去重写后实现
java中类与接口之间关系:
类与类之间 继承关系 只支持单继承
接口与接口之间 继承关系 实现多继承
类与接口之间 实现关系 可以多实现



