栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

抽象类和接口

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

抽象类和接口

1.抽象类

修饰符abstract,可以修饰方法即抽象方法,也可以修饰类即抽象类。

抽象类的特点:

  • 抽象类中可以没有抽象方法,抽象方法必须存在于抽象类中。(抽象方法只有方法名,没有方法实现)
  • 抽象类的子类必须要重写抽象类的所有抽象方法
  • 不能new抽象对象,只能靠子类去实现它
/抽象类
public abstract class Action {
    //抽象方法,只有方法名,没有方法实现
    public abstract void run();
    //抽象类中可以有普通方法,但是抽象方法只能在抽象类中
    public void go(){
        System.out.println(" ");
    }
}
//抽象类的子类必须要重写抽象类的所有抽象方法
public class A extends Action {
    @Override
    public void run() {
        System.out.println("跑");
    }
}
public class Demo01 {
    public static void main(String[] args) {
        Action a = new A();
        a.run();
        a.go();
    }
}

注:

  1. 抽象类可以有构造方法,只是不能直接创建抽象类的实例对象而已。在继承了抽象类的子类中通过super()或super(参数列表)调用抽象类中的构造方法。
  2. 抽象类存在的意义:提高开发效率
2.接口

声明接口的关键字interface。
接口与抽象类的区别:

  • 抽象类:普通方法和抽象方法都可以有
  • 接口:只有抽象方法(约束),约束和实现分离:面向接口编程~
//接口用关键字interface修饰
public interface userService {
 //接口中的属性默认修饰符public static final,静态常量
    int age = 18;
//接口中成员方法默认修饰符 public abstract,只能是抽象方法
    void add(String name);
    void delete(String name);
    void modify(String name);
    void query(String name);
}
public interface timeService {
    void time();
}
//类实现接口用implements关键字
//接口的子类要么重写接口中的所有方法,要么子类也是抽象类
//类只能单继承,接口可以多实现
public class userServiceImpl implements userService ,timeService{
    @Override
    public void add(String name) {

    }

    @Override
    public void delete(String name) {

    }

    @Override
    public void modify(String name) {

    }

    @Override
    public void query(String name) {

    }

    @Override
    public void time() {

    }
}

接口的作用:

1.接口本质是一种约束
2.定义一些方法,让不同的人实现
3.成员方法默认是public abstract
4.成员属性默认是public static final
5.接口不能被实例化【原因:接口中没有构造方法】
6.可以实现多个接口,但必须重写接口中的方法

3.类和接口的关系
  1. 类和类的关系:继承关系;只能单继承,可以多层继承
  2. 类和接口的关系:实现关系;可以单实现,也可以多实现
  3. 接口和接口的关系:继承关系;可以单继承,也可以多继承
4.抽象类和接口的区别
  1. 成员区别:抽象类中可以有:常量、变量、构造方法、抽象方法、非抽象方法
    接口中可以有:常量、抽象方法

  2. 关系区别:类与抽象类:继承
    类与接口:实现

  3. 设计理念区别:抽象类:对类抽象,包括行为、属性
    接口:对行为抽象,主要是行为

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/590822.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号