Java-06-抽象类和接口

Java抽象类

/**
 * @Author Void
 * @Description //TODO 抽象类
 * @Date 12:09 2021/3/5
 * @Param 
 * @return 
 **/
//用abstract 关键字定义
public abstract class A {
    
    
    //约束~让别人帮我实现
    //abstract 方法 只有方法名没有方法的实现
    //所有继承该类的子类,必须实现该类的抽象方法
    public abstract void dosomething();

    /*
    * 不能new该抽象类,只能靠子类去实现他
    * 抽象类可以写普通方法,抽象方法必须在抽象类中
    * */ 
}

    

Java接口

概述

接口就是规范,定义的是一组规则,自己无法写方法

专业的约束,约束和实现分离:面向接口编程

关键字interface

定义接口

/**
 * @Author Void
 * @Description //TODO 接口,接口都需要有实现类
 * @Date 12:39 2021/3/5
 * @Param 
 * @return 
 **/
public interface UserService {
    
    
    //接口中定义的所有属性,都是常量(一般不在这里定义属性)
    int AGE = 99;//默认 public static final
    //接口中的所有定义的方法都是抽象的 默认public abstract


    void run(String name);
    void add(String name);
    void del(String name);
    void update(String name);
    void find(String name);
}

实现接口

//抽象类:单继承
//接口:多继承
//接口的实现类,需要重写接口中所有的方法
//类可以实现接口 通过implements 接口(可以是多个[多继承]),这里的Timer是另一个接口
public class UserServiceImpl implements UserService,Timer {
    
    
    @Override
    public void run(String name) {
    
    

    }

    @Override
    public void add(String name) {
    
    

    }

    @Override
    public void del(String name) {
    
    

    }

    @Override
    public void update(String name) {
    
    

    }

    @Override
    public void find(String name) {
    
    

    }

    @Override
    public void times() {
    
    

    }
}

接口的作用

接口作用:
    1.约束
    2.定义一些方法,让不同的人实现
    3.方法默认前缀:public abstract
    4.常量默认前缀:public static final
    5.接口不能被实例化,因为接口不是类没有构造方法
    6.接口可以同个implements可以实现多个接口
    7.必须要重写接口中的所有方法

猜你喜欢

转载自blog.csdn.net/baidu_41656912/article/details/114396593