抽象类和接口

抽象类

关键字:abstract加在class前面

1、抽象类的定义方式

package com.Oop.demo02;
//abstract:抽象类
public abstract class Action {

    //约束~有人帮我们实现
    //abstract,抽象方法,只有方法名字没有方法的实现
    public abstract void move();//方法前要加abstract 

    public abstract void run();
}

2、子类继承抽象类并重写抽象类中的方法

package com.Oop.demo02;
//抽象类的子类都必须全部重写抽象的方法
public class A extends Action{
    @Override
    public void run() {

    }
    @Override
    public void move() {

    }
}

3、抽象类总结

1、不能new抽象类,只能通过他的子类去实现他
2、抽象类的方法只有方法名,没有方法的具体实现!
3、抽象类是单继承,即一个子类只能有一个父类

  • 抽象类不常用,常用的是接口,接口与抽象类相似

接口

关键字:interface、implements

1、接口的定义方式:接口名前加:interface

接口1

//interface接口关键字,接口都需要有实现类
public interface   UserService {
    //接口中的所有定义其实都是抽象的
    void add(String name);

}

接口2

public interface TimeService {
    void timer();
}

2、子类的定义:类名后面 + implements + 接口名(可以有多个接口)

//类可以实现接口:+ implements + 接口名
//实现了接口的类,就需要重写接口的方法
//接口可以实现多继承
public class UserServiceImpl implements UserService,TimeService{
    @Override
    public void add(String name) {

    }

    @Override
    public void timer() {

    }
}

3、接口总结

1、作用(功能):定义一些方法,让不同人实现
2、方法只有void + 方法名,并且只定义名字,具体实现由子类去实现
3、多继承,子类可以有多个接口且子类必须全部重写接口里的方法
4、接口没有构造器

posted @ 2022-07-31 22:29  随风飘向天边  阅读(62)  评论(0)    收藏  举报