继承和接口的区别,抽象类和接口的区别

日期: 2025-03-13 18:07:52 |浏览: 1|编号: 79181

友情提醒:信息内容由网友发布,本站并不对内容真实性负责,请自鉴内容真实性。

继承和接口的区别,抽象类和接口的区别

文章目录

主要需要解决的问题:

继承和接口的区别抽象类和接口之间的区别?什么时候创建抽象类?什么时候创建接口?设计框架时该如何选择? 1. 继承和接口的区别 1.1 面向对象的角度

继承是类的关系,接口实现是对行为的实现。

举个例子:

继承是 人->女人。

接口是 女人 实现 生孩子(有xxxx,怀孕,分娩或下蛋等方法)

1.2 继承和接口使用上的区别示例 2. 抽象类和接口之间的区别 2.1 什么是抽象类和接口

抽象方法 即使用 关键字修饰,仅有声明没有方法体的方法。

public abstract void f();    //没有内容

抽象类 即包含抽象方法的类。

如果一个类包含一个或者多个抽象方法,该类必须被限定为抽象的。抽象类可以不包含抽象方法。

public abstract class BaseActivity {
    private final String TAG = this.getClass().getSimpleName(); //抽象类可以有成员
    void log(String msg){   //抽象类可以有具体方法
        System.out.println(msg);
    }
//    abstract void initView();     //抽象类也可以没有抽象方法
}

接口 是抽象类的一种特殊形式,使用 修饰。

public interface OnClickListener {
    void onClick(View v);
}

2.2 特点与区别 抽象类的特点

抽象类的初衷是“抽象”,即规定这个类“是什么”,具体的实现暂不确定,是不完整的,因此不允许直接创建实例。

接口的特点

Java 为了保证数据安全性是不能多继承的,也就是一个类只有一个父类。

但是接口不同,一个类可以同时实现多个接口,不管这些接口之间有没有关系,所以接口弥补了抽象类不能多继承的缺陷。

接口是抽象类的延伸,它可以定义没有方法体的方法,要求实现者去实现。

区别

跨域不同

设计层次不同

提醒:请联系我时一定说明是从旅游网上看到的!