【Java】抽象类_接口_最终类

类的用途

        1.放置静态属性、静态方法的地方                                

        2.用来实例化对象的模板                                               

        3.用来供其他人继承

抽象类——只可被继承

1.语法:

        在定义类的时候,添加 abstract 修饰,这个类就是抽象类

2.java中赋予了抽象类一项新的能力(普通类不具备)

        抽象类中允许定义一些方法,但没有被实现(没有方法体、只是声明),这些方法是专门留给子类去实现的,这些方法被称为抽象方法

接口——完全可以被理解成特殊的抽象类

        接口和抽象类一样,不能被实例化,只可被继承

        只能出现方法,这些方法,默认是抽象方法,并且被public所修饰

        从某些方向讲:接口是一个极端的抽象类(全部只有抽象方法的抽象类)

定义接口

        关键字:interface

public interface Flyable {
    void fly();
}

         void  fly()     默认视为        public  abstract  void  fly()

接口的功能是被实现

关键字:implements

public class 麻雀 implements Flyable {

    @Override
    public void fly() {

    }
}

接口本身也允许被继承,继承自另外的接口,同时允许多继承

interface A { void a(); }

interface B { void b(); }

interface z extends A,B { void z(); }

 由于接口Z继承自接口A和接口B,所以,最终Z中有的抽象方法是 a()、b()、z()

 

 最终类——只能实例化对象,不能被继承

通过 final 修饰类,表示最终类

public final class TestClass{
    public void a(){
        
    }
}

 接口 VS 抽象类

相同点

1)不能被实例化

2)允许出现抽象方法

不同点

1)接口只能出现抽象方法,其他的内容通通没有

2)普通类和抽象类之间的关系是继承(extends)关系,只能单继承

      普通类和接口之间的关系是实现(implements)关系,允许一个类实现多个接口

3)接口和接口之间也允许继承关系,允许多继承

4)抽象类中可以有属性、普通方法,接口中只能出现抽象方法(默认都是public)

5)类总归还是描述一类事物,接口大多描述的是一组能力

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

hssq

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值