抽象类、接口
来源:互联网 发布:手机通话变声器软件 编辑:程序博客网 时间:2024/06/12 19:17
1.抽象类、接口、内部类。
抽象类:存在与父子类中,将子类中公有的方法放进父类,但是由于方法的实现方式在不同子了中又不同方式,
此时在父类中的方法不能写具体的方法体,因此用abstract修饰写成抽象类,因此该类没有方法体,他是不完整的,
2.抽象类的特点
1)由abstract修饰
2)包含抽象方法的类必须是抽象类
abstract Aoo{
abstract void b();//抽象类的方法没有方法体括号都没有
}
不包含抽象方法的类也可以声明为抽象类---我乐意
3)抽象类不能被实例化
Aoo a=new Aoo();错
4)抽象类是需要被继承的,子类:
4.1)重写所有抽象方法----常用
4.2)也声明为抽象类------不常用
abstract Aoo{
abstract void b();
}
class Boo extends Aoo{
oid b(){
}
}
合法的实例化Aoo a=new Boo();向上造型。
3.抽象类的意义:
在父类中有一个共有的方法,通过配合向上造型可以减少代码量
1)封装子类所共有的属性和行为,代码复用
2)为所有子类提供了统一的类型,向上造型
3)可以包含抽象方法,为所有子类提供了统一的入口
4.接口:
1)是一个标准、规范
2)由interface定义
3)只能包含常量和抽象方法
可以不写publicfianl static publicabstract系统默认添加
注意在实现接口时需要重写所有的抽象方法,在实现接口时要用public修饰(必须写)
子类修饰权限必须大于等于父类,父类默认是public子类必须也是public
在继承中同样的道理。子类权限必须大于等于父类
4)接口不能被实例化
5)接口是需要被实现/继承的,实现类/子类:
必须重写接口中的所有抽象方法
6)一个类可以实现多个接口
若又继承又实现时,应先继承后实现
7)接口可以继承一个或多个接口
publicinterface Aoo{
intNUM=12;
voida();
}
class Booimplements Aoo{
public voida(){}
}
public必须写!!!!!!!!
5.抽象类和接口的区别:
全部子类公有方法抽成父类,如果方法的实现方式与对象有关,将该方法抽成抽象方法。由于方法是抽象方法所以类是抽象类。
部分子类公有方法构成接口。接口可以实现多个公有功能,但是在抽象类的继承中,每个子类只能继承一个父类。
2.抽象类的特点
abstract Aoo{
abstract void b();//抽象类的方法没有方法体括号都没有
3)抽象类不能被实例化
abstract Aoo{
abstract void b();
class Boo extends Aoo{
3.抽象类的意义:
4.接口:
5.抽象类和接口的区别:
全部子类公有方法抽成父类,如果方法的实现方式与对象有关,将该方法抽成抽象方法。由于方法是抽象方法所以类是抽象类。
部分子类公有方法构成接口。接口可以实现多个公有功能,但是在抽象类的继承中,每个子类只能继承一个父类。
阅读全文
0 0