抽象类和接口基础笔记

抽象类

  1. 定义:如果一个类不与具体的事务相联系,而只是表达一种抽象的概念,仅作为派生类的基类(作为父类,主要是定义功能而已,具体的实现交给派生类。)
  2. 语法:abstract class 类名 { }
  3. 规则
    1. 抽象类可以包含抽象方法也可以有非抽象方法
    2. 抽象类不能被实例化
    3. 抽象类只有被继承才有意义
    4. 普通类当中不能被定义抽象方法
    5. 有抽象方法的类一定是抽象类
  4. 抽象方法
    1. 语法:abstract 方法名(),修饰符只能为public或protected
    2. 抽象方法没有方法体;
    3. 子类需要实现父类的全部抽象方法
  5. a = a + b 与 a += b的区别?
    1. a += b底层封装实现的就是a = (short) (a + b)
    2. a = a+b 会报错,a + b自动类型转换为 int,需要强制类型转换

接口

  实例:API接口

  1. Application Program Interface:应用程序接口

    USB接口

  1. 什么是接口?
    1. 接口是对一组方法的声明。
    1. 解决Java不支持多单继承的问题
    1. 接口可以将不同的类或者不同层次的类具有的相同行为集合在一起
  2. 实现类
    1. 实现接口的类(implements)
    2. 实现类主要是实现接口中定义的所有抽象方法
    3. 继承写在接口实现的前面
    4. 实现多个接口,接口之间用逗号隔开
  3. 接口的规则
    1. 接口中的方法都是抽象方法,方法前面默认省略了public abstract
    2. 接口中的属性都是常量,默认省略了public static final(和抽象类不同)
    3. 接口中没有构造器,不能实例化(原因为2)
    4. 接口中的方法必须全部实现
    5. 接口也是多态的一种实现方式
    1. 接口可以继承接口,而且可以继承多个接口
    2. 抽象类可以继承接口(可以不实现接口中方法)
  4. 接口的优点
    1. 降低了类和类之间的耦合度
    2. 提升了程序的可扩展性
    3. 接口提供了一种标准(eg:JDBC)
    4. 接口和抽象类的区别?
  1. 接口和抽象类的区别?
    1. 抽象类可以有构造方法,接口中不能有构造方法。
    2. 抽象类中可以有普通成员变量,接口中没有普通成员变量
    3. 抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。
    4. 抽象类中的抽象方法的访问类型可以是public,protected和默认类型,但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。
    5. 抽象类中可以包含静态方法,接口中不能包含静态方法
    6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。
    7.  一个类可以实现多个接口,但只能继承一个抽象类。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Helloworld-睖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值