抽象类 接口

本文详细解析了抽象类与接口的概念、特点、使用方式及其在不同场景下的应用区别,帮助开发者更好地理解二者之间的异同,并指导如何在实际开发中灵活运用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,抽象类的特点
   A:抽象类里面可以定义普通方法,属性[普通的],抽象方法
   B:如果一个类里面有抽象方法,那么这个类必须定义成抽象类
   C:抽象类不能被实例化,只能被继承
   D:子类继承抽象类时,抽象类中的抽象方法可以实现也可以不实现,如果抽象方法没有被实现,则子类也必须标记为抽象类。

抽象方法
抽象方法没有方法体
抽象方法必须在抽象类里
抽象方法必须在子类中被实现,除非子类是抽象类
不能用abstract修饰私有方法(因为私有方法不能被其他类访问,导致抽象方法无法被实现),构造方法(当一个类继承当前类的时候,就必须实现该抽象方法,但是构造方法类名必须与类名相同,所以不能用abstract修饰构造方法),静态方法
修饰符
修饰对象
规则
static
属性
类或类的实例来调用,最好用类引用
方法
只能调用静态变量或静态方法,不能使用thissuper
代码块
程序一加载静态代码块就运行,而且只运行一次
final
属性
常量,final int i=12;或者final int ii=12
方法
该方法不能被子类重写
该类不能被继承。
abstract
方法
该方法只有方法声明,没有方法体
构造方法和static方法不能是抽象的
有该方法的类称为抽象类,类名前必须加abstract
抽象类不能被实例化
抽象类可以具有指向子类对象的引用
抽象类可以有普通方法,只能子类调用
父类的抽象方法必须在子类中实现(用子类实例对象)

接口
  接口标准
  为什么使用接口--
1,接口的语法
[修饰符]+interface+接口名
{
    //属性----都是公共的,静态的,常量 int a=10;====public static final int a=10;
    //方法----都是抽象方法public void a();====public abstract void a();
}
2,接口的实现
interface A{
public void a();
}
interface B{
public void b();
}
class B implements A,B{
pubilc void a(){}
pubilc void b(){}
}
3,接口的特点
   A:接口里面的 所有方法都是抽象方法
   B:一个类只能继承一个父类,但是可以实现多个接口
   C:一个类实现多个接口的同时,还可以来继承一个类。继承类的时候写法是:必须先写继承,再写实现。
   D:接口不能被实例化---因为里面有抽象方法
   E:一个接口可以继承多个接口,比如:public interface A extends B,C,D{...}

4,接口的用途
  1)通过接口实现不相关类的相同行为,而无需考虑这些类之间的关系.
(2)通过接口指明多个类需要实现的方法
(3)通过接口了解对象的交互界面,而无需了解对象所对应的类
(4)使用接口,具体代码可以不依赖具体实现类,当具体实现类有变化时,代码不需调整。使用接口使软件更容易扩展。

十三、 抽象类和接口对比
  相同点
     1,不能被实例化
     2,能包含抽象方法
  不同点
     1,抽象类中可以各种属性、普通方法、抽象方法  接口中只能常量、抽象方法
     2,一个类只有继承一个抽象类,但是可以实现多个接口

用接口代替只有抽象方法的抽象类,理由如下:
接口有比抽象类更好的特性
1:可以被多继承
2:设计和实现完全分离
3:更自然的使用多态
4:更容易搭建程序框架
5:更容易更换实现
必须知道的接口特性
1:接口不可以被实例化
2:实现类必须实现接口的所有方法
3:实现类可以实现多个接口
4:接口中的变量都是静态常量
对比抽象类和接口
NO.
比较点
抽象类象类
接口接口
1
定义
abstract修饰的类。
静态常量和抽象方法的集合
2
组成
抽象方法,普通方法,构造方法,成员变量,常量
抽象方法,静态常量
3
使用
子类继承(extends)
实现类实现(implements)
4
关系
抽象类可以实现接口
接口不能继承抽象类,接口可以用abstract修饰
5
对象
都是通过对象的多态性来实现的
6
局限
不能多继承,不能实例
可以多继承,不能实例化
7
选择
建议选择接口,避免单继承。
8
实际
模板
标准

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值