关于java的抽象类

关于java的抽象类

我们在上一篇文章中,详细分析了static的意义和用法,本篇文章中我们来了解一下抽象类,抽象类是比抽象更加抽象的。

一、抽象类

  • abstract 修饰符可以用来修饰方法,也可以修饰类。
  • 如果修饰方法,那么这个方法就是抽象方法。
  • 如果修饰类,那么这个类就是抽象类。
package oop.Demo10;
//abstract 抽象类
public abstract class Action
{
    public void doSomething()
    {

    }
}

二、抽象方法

如果我们想写一个方法,但是自己不实现,让别人帮我们实现,就可以添加一个抽象修饰符abstract 。

package oop.Demo10;
//abstract 抽象类
public abstract class Action
{
    public abstract void doSomething();
}
  • 抽象方法:只有方法的名字,没有方法的实现。

我们新建一个子类Son,然后让子类去继承Action这个抽象的父类。

package oop.Demo10;

public class Son extends Action//编译器会报错
{

}

所以我们重写一下doSomething的方法。

package oop.Demo10;

public class Son extends Action{
    @Override
    public void doSomething() {

    }
}
  • 抽象类的所有方法,继承它的子类,都必须要实现它的方法。
  • 如果子类也是抽象类,那就不用去实现,可以让子子类去实现。
package oop.Demo10;

public abstract class Son extends Action{

}

三、抽象类的特点

  • 不能new抽象类,只能靠子类去实现,它的本质是一个约束。、

关于java的抽象类_第1张图片

  • 如果我们想new,只能去new子类的对象,如果子类也是抽象类,那就继续找子子类。
  • 抽象类中可以写普通方法。
  • 抽象方法必须在抽象类中。
  • 抽象的抽象:约束!!

四、抽象类的意义

1、必须集成的属性方法用抽象方法, 非必需的用接口;

2、接口是规范是协调与其它类的方法交互的一种协议准则;

3、抽象方法必须是Public的;

4、想要了解抽象类,只需记住抽象方法的应用场景就行了;

5、抽象方法是定一种或者一类事物必须有的一种技能,但是这种技能的表现形式对于各个继承者的表现形式不一样,就把它定义为抽象方法。因为抽象方法必须存在抽象类,所以把普通父类定义为抽象类;

五、接口

  • java里面,如果我们想使用抽象类,就脱离不了继承extends。
  • 但是java的类只是单继承,不能实现多继承。
  • 接口,是可以实现多继承的,我们放在下篇文章中详细说明。

你可能感兴趣的:(java,开发语言)