【Java基础】 Java面向对象之抽象类、接口详解

Java面向对象之抽象类

java 抽象类

  1. java 抽象类:

    1、abstract 修饰符可以用来修饰方法,也可以修饰类,如果修饰方法,那么该方法就是抽象方法;如果修饰类,那么该类就是抽象类

    2、抽象类中可以没有抽象方法,但是有抽象方法的类一定要声明为抽象类

    3、抽象类不能使用 new 关键字来创建对象,它是用来让子类继承的

    4、抽象方法只有方法的声明,没有方法的实现,它是用来让子类实现的

    5、子类继承抽象类,那么就必须要实现抽象类没有实现的抽象方法,否则该子类也要声明为抽象类

    注意:

    1、不能 new 这个抽象类,只能靠子类去实现它,约束

    2、抽象类中可以写普通的方法

    3、抽象方法必须在抽象类中

    扩展:

    1、抽象的抽象:约束

    2、类:extends 单继承 接口可以多继承

  2. 实例:
    package oop.demo12;
    
    <
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
抽象类是一种特殊的类,它不能被实例化,只能被继承。抽象类中可以包含抽象方法和非抽象方法,抽象方法必须在子类中被实现,而非抽象方法可以被子类直接继承或重写。 抽象类通常用于建立子类的模板,它定义了子类需要实现的方法和属性,但是并不对具体的实现进行定义。子类必须实现抽象类中的所有抽象方法,否则子类也必须声明为抽象类。这种方式可以保证子类的一致性,并且减少了代码的重复。 在 PHP 中,我们可以通过关键字 abstract 来定义一个抽象类,而抽象方法则需要在方法名前面加上 abstract 关键字,同时省略方法体。例如: ``` abstract class Animal { abstract public function eat(); } ``` 上面的代码定义了一个抽象类 Animal,其中包含一个抽象方法 eat()。由于这个方法是抽象的,所以不能有具体的实现。 当一个类继承了抽象类 Animal,并且没有实现 eat() 方法时,PHP 就会发出一个 Fatal error 错误。例如: ``` class Cat extends Animal { } ``` 上面的代码会报错,因为 Cat 没有实现抽象方法 eat()。 如果我们要让 Cat 继承 Animal,就必须实现 eat() 方法,例如: ``` class Cat extends Animal { public function eat() { echo "Cat is eating...\n"; } } ``` 这样,Cat 就可以实例化了,并且可以调用 eat() 方法。 总之,抽象类是一种用于建立子类模板的特殊类,它定义了子类需要实现的方法和属性。子类必须实现抽象类中的所有抽象方法,否则子类也必须声明为抽象类

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小夕Coding

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

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

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

打赏作者

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

抵扣说明:

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

余额充值