简述JAVA抽象类和接口

JAVA抽象类,接口

一,JAVA抽象类
1,什么是抽象类
在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。
2,抽象类不能实例化对象,但是类的其他功能可以正常使用。
(成员变量,成员方法和构造方法的访问和普通类一样。)
3,在抽象类中,抽象类可以没有抽象方法,但是如果类里面有抽象方法,那么这个类一定是抽象类。
4,如果一个类继承于抽象类,那么这个类一定要实现抽象类中的抽象方法;如果没有实现抽象方法,那么这个类也是一个抽象类。
5,父类包含了子类集合的常见的方法,但是由于父类本身是抽象的,所以不能使用这些方法。
抽象类中的抽象方法只是声明,不包含方法体,就是不给出方法的具体实现也就是方法的具体功能。构造方法,类方法(用 static 修饰的方法)不能声明为抽象方法。
6,Abstract关键字
Abstract 关键字同样可以用来声明抽象方法,抽象方法只包含一个方法名,而没有方法体。
抽象方法没有定义,方法名后面直接跟一个分号,而不是花括号。
继承抽象方法的子类必须重写该方法。否则,该子类也必须声明为抽象类。
二,接口
1,接口,在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。
接口无法被实例化,但是可以被实现。一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。
2,接口特性
接口中每一个方法也是隐式抽象的,接口中的方法会被隐式的指定为 public abstract
接口中可以含有变量,但是接口中的变量会被隐式的指定为 public static final 变量
接口中的方法是不能在接口中实现的,只能由实现接口的类来实现接口中的方法。接口可以继承多个接口,一个类可以实现多个接口。
3,接口的用法
①,定义一个接口需要使用interface关键字。
②,接口的成员列表只能包含抽象方法及常量,常量必须在接口中定义的时候就初始化。
③,接口的所有成员默认都是public的
④,接口没有构造方法,也就是说,接口和抽象类-样不能创建自己的对象。
⑤,接口可以继承接口,和类不同的是,接口继承其他接口的时候,是可以多继承的。
4,接口特点
①,接口的成员列表中只能包含抽象方法,及常量( public static final)而且常量必须在接口中定义的时候就初始化
②,接口的所有成员默认都是public包括接口本身,不允许用其它修饰符
③,接口没有构造方法
④,可以引用子类的对象

附加:方法及属性的访问修饰符
private----私有权限
默认修饰符(不用修饰符)-----家庭权限
protected修饰符----家族权限
public修饰符-----完全开放

猜你喜欢

转载自blog.csdn.net/tan1024/article/details/110146180