抽象方法,抽象类,接口,重写
抽象类的产生:为迎合一些场景,当所有的子类对父类的某个方法都必须要进行不同程度的重写,那么这个方法的方法体没有实际含义就可以把方法体去掉加上abstract关键字修饰方法,让子类进行不同程度的实现
abstract功能:-–>关键字,修饰方法,修饰类。
**为什么抽象方法一定要重写:**因为在继承关系中,子类可以使用父类的部分信息,如果抽象方法不被重写的话,其本身是没有方法体的,所以一旦子类调用的话一定是进行报错的—主要是抽象类中没有方法体的实现,子类需要完成方法的重写
重点:一个类中如果出现抽象方法,不管多少,那么这个类就必须是抽象类—加上abstract关键字
抽象类中方法,继承的子类必须进行不同程度的实现----进行方法的重写
如果子类继承了抽象方法,但是子类不想实现抽象类的方法,则子类的本身也要添加abstract的抽象类
抽象方法两大原则:
- 修饰符 abstract 返回值 方法名(参数列表);----->没有方法体的
- 普通类继承一定要重写父类抽象类的所有抽象方法,否则子类进行调用不行
子类如果不想重写任何一个方法的时候----解决方案—>子类也变成抽象类的形式
abstract class Fu{
......
}
abstract class Zi extends FU{---->此时可以选择性的重写父类中的方法
......
}
抽象方法:
- 抽象方法可以重载?–可以重载—重载后子类对不同的方法进行相关方法的实现,参数列表不同,方法名相同
- **抽象类里面一定含有抽象方法?**不一定,抽象类里面可以不定义抽象方法,抽象类中可以是空的抽象类
- 抽象类中可以定义属性和普通方法,抽象方法? 可以–i抽象类的本身还是类,作为类-的一部分&