首页 > 其他分享 >抽象类和接口

抽象类和接口

时间:2022-08-18 11:15:00浏览次数:57  
标签:name abstract 接口 public 抽象类 void

抽象类

关键字为abstract

package com.oop.demo08;

//abstract  抽象类:本事还是类   extends:java只有单继承   (接口可以多继承)
public abstract class Action {

    //约束~有人帮我们实现
    //abstract,抽象方法,只有方法名,没有方法体
    public abstract void doSomething();

    //1.不能new这个抽象类,只能靠子类去实现它:约束!
    //2.抽象类中可以写普通方法
    //3.抽象方法必须在抽象类中
}

抽象类中的所有方法都要有子类来实现,如果子类也是一个抽象类那就让下一个子类来实现,以此类推,关键是起到一个约束的作用

package com.oop.demo08;

//抽象类的所有方法都必须要子类来实现
public abstract class A extends Action{
    @Override
    public void doSomething() {

    }
}

接口

interface 定义接口的关键字,接口中的所有定义的方法其实都是抽象的 public abstract...

我们定义一个UserService接口,例如

package com.oop.demo09;

//要有抽象的思维

//interface  定义接口的关键字
public interface UserService {
    //常量
    int AGE = 99;
    //接口中的所有定义的方法其实都是抽象的 public
    void add(String name);
    void delete(String name);
    void update(String name);
    void query(String name);
}


1.接口有约束作用
2.定义一些方法,可以让不同的人来实现,一个实现类可以实现多个接口~ //1个接口,可以让不同的人来实现它

例如:

package com.oop.demo09;

//类   可以实现接口 implements  接口
//如果一个类实现了接口,就需要重写接口当中的方法
public class UserServiceImpl implements UserService,TimeService{
    @Override
    public void add(String name) {

    }

    @Override
    public void delete(String name) {

    }

    @Override
    public void update(String name) {

    }

    @Override
    public void query(String name) {

    }

    @Override
    public void timer() {

    }
}

3.修饰符都是public abstract

4.都是常量public static final

5.接口不能被实例化~,接口中没有构造方法

6.implements可以实现多个接口

7.必须要重写接口中的方法~

标签:name,abstract,接口,public,抽象类,void
From: https://www.cnblogs.com/whgjwr/p/16597974.html

相关文章