抽象类和接口的理解

抽象:抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程。(共性的抽取,找出相同的特征)
比如一个Animal抽象类,他的抽象是所有的动物都可以吃东西,因此就可以在Animal抽象类中定义一个抽象方法 public abstract void eat();
具体的怎么吃的方法体由它的子类实现,比如一个Cat类继承了Animal抽象类,那么就要实现eat这个方法,就在方法体写上猫吃鱼;
抽象类的规则还是和普通类的规则差不多的。都有构造方法,成员变量,也有普通的方法,但不能有具体的实现类,就比如Animal就不能具体的去实现,
要想创建Animal类的对象,就可以用多态的方式,Animal  animal=new Cat();
注意事项:子类必须覆盖父类的所有的抽象方法,如果不实现也可以,那么这个类也一定是抽象类,有抽象方法的一定是抽象类,是抽象类不一定有抽象方法

接口:(就相当于小型的抽象类,但他是百分之一百的抽象为什么呢?)接口是解决Java无法使用多继承的一种手段,但是接口在实际中更多的作用是制定标准的。
必须记住:抽象方法只能存在于抽象类或者接口中,但抽象类中却能存在非抽象方法,即有方法体的方法。接口是百分之百的抽象类
Java接口是一系列方法的声明,是一些方法特征的集合
个人觉得,它的范围比抽象类还小,(为什么呢?)
还是那个Animal抽象类,有的动物可以飞,有的动物则不能,这时候就不能在Animal抽象类中定义一个抽象的飞这个方法,怎么办呢?这时候可以定义一个飞的接口类,
飞的接口类定义一个飞的方法void fly();由于接口时百分比的抽象类,默认是public abstract 修饰的,(这时候就可以解释为什么它的范围比抽象类还小,Animal和飞相比)
语法规则很不一样,它的变量是默认有public static 修饰的,没有有方法体的方法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ksysjwqd

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

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

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

打赏作者

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

抵扣说明:

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

余额充值