Java面向对象之抽象类、接口
Java 抽象类
抽象类不能实例化对象,所以抽象类必须被继承,才能被使用;
Java 中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口
1. 抽象方法:
用Abstract 关键字声明抽象方法,只包含一个方法名,没有方法体。方法名后面直接跟一个分号结束,而不是花括号;
子类继承父类的抽象方法时必须重写;或者声明自身为抽象类
最终必须有子类实现该父类的所有抽象方法
只有抽象类才能有抽象方法(也可有普通方法)
public abstract class Employee
{
private String name;
private String address;
private int number;
public abstract double computePay();
//其余代码
}
2. Java 接口
在JAVA中是一个抽象类型,是抽象方法的集合,以interface来声明。一个类可通过继承接口的方式,从而来继承接口的抽象方法。接口也可继承接口;
接口为abstract
接口方法为public abstract
接口变量为public static final
都是默认的,无需写出
[可见度] interface 接口名称 [extends 多个接口名] {
// 声明变量
// 抽象方法
}
标记接口
标记接口作用:简单形象的说就是给某个对象打个标(盖个戳),使对象拥有某个或某些特权。
例如:java.awt.event 包中的 MouseListener 接口继承的 java.util.EventListener 接口定义如下:
package java.util;
public interface EventListener
{}
3. 接口与类相似点:
一个接口可以有多个方法。
接口文件保存在 .java 结尾的文件中,文件名使用接口名。
接口的字节码文件保存在 .class 结尾的文件中。
接口相应的字节码文件必须在与包名称相匹配的目录结构中。
4. 接口与类的区别:
1.接口不能用于实例化对象。 接口没有构造方法。接口支持多继承(继承多个接口)。
2.接口中所有的方法必须是抽象方法,Java 8 之后 接口中可以使用 default关键字修饰的非抽象方法。
3.接口不能包含成员变量,除了 static 和 final 变量。 接口不能被类继承,需要被类实现。
5. 抽象类和接口的区别
1.抽象类中的方法可以有方法体
{JDK 1.8 以后,接口允许包含具体实现的方法,该方法称为"默认方法",使用 default 关键字修饰}
{JDK 1.9 以后,允许将方法定义为 private,使得某些复用的代码不会把方法暴露出去}
2.抽象类中的成员变量可以是各种类型的
3.抽象类可以有静态代码块和静态方法( static ){jdk1.8以后,接口也可以有}
4.一个类只能继承一个抽象类,却可以实现多个接口
在这里欢迎大家的点赞、关注、评论,以此来促进大家互相学习交流,同时可以让新加入的小伙伴更快的了解新知识!!!
以上内容如有侵权,请联系作者进行删除文章来源:https://www.toymoban.com/news/detail-683256.html
≧◠◡◠≦ 1分2分都是爱,感谢已经打赏的老板,和正在打赏的老板们 ≧◠◡◠≦文章来源地址https://www.toymoban.com/news/detail-683256.html
到了这里,关于Java面向对象之抽象类、类、接口分析参考的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!