Java面向对象之抽象类、类、接口分析参考

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.一个类只能继承一个抽象类,却可以实现多个接口

在这里欢迎大家的点赞、关注、评论,以此来促进大家互相学习交流,同时可以让新加入的小伙伴更快的了解新知识!!!

以上内容如有侵权,请联系作者进行删除

≧◠◡◠≦ 1分2分都是爱,感谢已经打赏的老板,和正在打赏的老板们 ≧◠◡◠≦

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TinyTuiKun

感谢各位老板们的打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值