抽象类和接口

本文详细介绍了Java中的抽象类和抽象方法的概念,强调它们不能被实例化和必须被子类重写的特点。同时,阐述了抽象类与接口的区别,指出抽象类可以包含普通方法和字段,而接口则不能。此外,还提到了抽象类在多态中的作用以及子类继承抽象类时的实现规则。最后,通过示例代码说明了抽象方法的定义,并指出抽象方法不能是private的。理解这些概念对于Java编程至关重要。
摘要由CSDN通过智能技术生成

抽象类:包含抽象方法的类抽象类
1、抽象类不能进行实例化
2、在抽象类当中,可以拥有和普通类一样的数据成员和方法
3、抽象类是可以被继承的,可以发生向上转型。
4、当一个普通类继承了一个抽象类,那么注意,当前这个普通类,一定要重写抽象类当中的抽象方法。
5、当普通类A继承了抽象类,且不想实现抽象类当中的抽象方法的时候
那么这个普通类可以被修改为抽象类A,此时就不需要进行实现了,当然你也可以实现。
如果一个普通类B,继承了这个抽象类A,此时就要实现这个抽象方法了
6、抽象方法不能是private修饰的,因为抽象方法就是用来被重写的
7、抽象类的出现 其实最大的意义就是为了被继承。
抽象方法:abstract修饰方法,会使这个方法变成抽象方法,抽象方法没有方法体(没有{})实现部分以";"代替。需要子类继承实现。

abstract class Shape{
 sbatract public void draw();
}

抽象类和接口都是 Java 中多态的常见使用方式. 都需要重点掌握. 同时又要认清两者的区别。
核心区别: 抽象类中可以包含普通方法和普通字段, 这样的普通方法和字段可以被子类直接使用(不必重写), 而接口中不能包含普通方法, 子类必须重写所有的抽象方法.
如之前写的 Animal 例子. 此处的 Animal 中包含一个 name 这样的属性, 这个属性在任何子类中都是存在的. 因此此处的 Animal 只能作为一个抽象类, 而不应该成为一个接口。

```java
class Animal { 
 protected String name; 
 
 public Animal(String name) { 
 this.name = name; 
 } 
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值