java 基础知识_接口和抽象类(一)

接口

1、定义:接口是抽象方法和常量值的定义的集合
2、本质:接口是一种特殊的抽象类,这种抽象类中只包含常量和方法的定义,而没有变量和方法的实现
3、接口的特性:

  1. 接口可以多重实现: 一个类可以实现多个接口,即一个类通过实现多个接口就可以实现多重继承了
  2. 接口中声名的属性默认为 public static final 的,也只能是 public static final 类型的, “public static final int id = 10” 等价于 “int id = 10” ,即在接口中声名属性时可以省略掉“public static final”
  3. 接口中只能定义抽象方法,而且这些方法默认为public的、也只能是public类型的 在接口内定义的抽象方法可以不写“abstract” 关键字作为标识,因为接口里面声名的方法默认都是抽象方法,因此可以省略掉“abstract”
  4. 接口可以继承其它的接口,并添加新的属性和抽象方法。

注意点:一、如果A接口继承了B接口 ,然后 C 类 实现了 B 接口,那么他要实现 A 和 B 中的所有方法, 接口之间不能使用实现接口
二、在jdk1.8之后,接口中新添加了两个特性,可以添加默认方法和静态方法
默认方法必须使用default修饰

    interface C1{
        public void show();
        default  void see(){
            System.out.println("啦啦啦,接口中的默认方法执行了");
        }

        static void say(){
            System.out.println("你敢信,接口中的静态方法执行了");
        }
    }

对于默认方法,可以被实现类对象去调用和重写
对于静态方法,只能通过接口名直接调用

抽象类

1、用abstract 关键字来修饰一个类时,这个类叫做抽象类;用abstract 来修饰一个方法时,该方法叫做抽象方法
2、含有抽象方法的类必须被声名为抽象类,抽象类必须被继承,抽象方法必须被重写
3、抽象类不能被实例化
4、抽象方法只需声名,而不需实现

注意点:一:抽象类中可以有非抽象方法,abstract 只能修饰类和方法
二:抽象方法的权限修饰符不是强制的,可以为protected,但是不能为private
三、如果一个类继承了抽象类,但是不想实现抽象类中的方法,那么可以将这个类定义为抽象类
四、如果一个类继承了一个抽象类,那么这个类必须重写接口中的全部方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值