小记

1.final关键字

  • final含义:最终的,不可改变的

  • final关键字:可以修饰类,方法,变量

    • 被final关键字修饰的类,不能被继承
    • 被final关键字修饰的方法,不能被子类重写
    • 被final关键字修饰的变量,只能被赋值一次
      • 如果是局部变量,无论是直接赋值初始化还是先定义后初始化,都只能被赋值一次
      • 如果是实例变量,且先定义后初始化,需要在这个类中所有的构造器中进行赋值
      • 如果是静态变量,且先定义后初始化,需要在这个类中的静态代码块中进行赋值
  • 关键字的共存性

    • final关键字和abstract关键字不可以同时修饰一个类
    • final关键字和abstract关键字不可以同时修饰一个方法
    • final关键字和interface关键字不可以同时修饰一个接口
    • abstract关键字和static关键字不可以同时修饰一个方法

2.接口

  • 接口:定义一组方法和数据标准的集合

  • 接口的成员

    • 自定义常量

      [public] [static] [final] 数据类型 常量名 = 常量值;
      
      注意事项:
      	1.常量名要求大写
          2.在接口中常量定义不可以先定义后赋值
      
    • 抽象方法

      [public] [abstract] 返回值类型 方法名 ();
      
    • 默认方法

      [public] default 返回值类型 方法名 () {}
      
      默认方法的注意事项:
      	1.当一个类同时继承和实现,且接口和父类中拥有同名方法,作为子类继承过来的父类的实例方法
          2.当一个类同时实现多个接口,且多个接口拥有同名方法,作为子类需要重写这个同名的方法
      
    • 静态方法

      [public] static 返回值类型 方法名 () {}
      
      注意事项:
      	1.实现类无法继承接口中的静态方法,所以无法通过实现类名.静态方法名进行调用,只能通过接口名.静态方法名进行调用
      
    • 私有方法

      private 返回值类型 方法名 () {}
      
      private static 返回值类型 方法名 () {}
      
  • 类和接口关系

    • 类和接口的关系:多实现
    • 类和类的关系:单继承
    • 接口和接口的关系:多继承

3.多态

  • 多态:其实就是对象的多种形态
  • 多态的前提条件
    • 要有子父类继承关系或者实现类接口的实现关系
    • 要有方法的重写(没有方法重写代码不会报错,但是这样多态没有实际意义)
    • 如果是继承关系,父类的引用指向子类对象(父new子)
    • 如果是实现关系,父接口的引用指向实现类对象(接口new实现类)
  • 多态关系中成员特点
    • 构造器
      • 和以前创建子类对象是一样的,都是先初始化父类成员,再初始化子类
    • 实例变量:
      • 和以前变量的使用是一样的,对象名被什么数据类型所修饰最后调用的就在那个类中去找
    • 实例方法
      • 先看父类中的方法有还是没有,如果有执行子类重写的;如果没有,编译报错
  • 多态的好处
    • 将父类和父接口作为方法的形参类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值