码出高效,面向对象

方法覆写:

  可以总结为容易记忆的口诀:一大两小两同

  1. 一大,子类的方法访问权限控制符只能相同或变大
  2. 两小,抛出异常和返回值只能变小,能够转型为父类对象
  3. 两同, 方法名和参数必须完全相同

方法重载:

      在同一类中,如果多个方法有相同的名字、不同的参数即为重载。
      在编译器眼中
         方法名称 + 参数类型 + 参数个数, 组成组成唯一键,称为方法签名,JVM通过这个
     唯一键决定调用哪种重载方法,

       public void mehtodForOverload() {}

       // 编译出错,访问控制符也不是方法签名的一部分
       private void mehtodForOverload() {}

       // 编译出错, 返回值并不是方法签名的一部分
       public int mehtodForOverload() {
           return 9;
       }

       // 编译出错, 静态标识符并不是方法签名的一部分
       public static void mehtodForOverload() {}

       // 编译出错, final并不是方法签名的一部分
       public final void mehtodForOverload() {}


       JVM在重载方法中,选择合适的目标方法的顺序如下:
         1. 精确匹配
         2. 如果是基本数据类型,自动转换为更大表示范围的基本数据类型
         3. 如果自动拆箱与装箱
         4,通过子类向上转型基础路线依次匹配
         5. 通过可变参数匹配

 泛型:
         泛型的本质是类型参数化,解决不确定具体对象类型的问题。
         实际就是在编译器增加一道类型检查而已,目的是促使程序员使用泛型时安全放置和使用。

      泛型可以定义在类、接口、方法中,编辑器通过识别尖括号和尖括号内的字母来解析泛型。
        1. E 代表 Element 用于集合中的元素
        2. T 代表 the Type of Object 代表某个类
        3. K 代表key、V 代表Value, 用于键值对元素

      (1). <> 尖括号的位置,必须在类名之后,返回值之前
      (2). 泛型只是一种编写代码时的语法检查

      使用泛型的好处:
          1. 类型安全,不用担心会抛出 ClassCastException异常
          2. 提升可读性
          3. 代码重用

 基本数据类型:
         它们不具备对象的特性,没有属性和行为.
         它是指不可再分的原子数据类型,内存中直接存储此类型,通过内存地址即可直接访问数据

      Java 9种基本数据类型:
          boolean byte char short int long float double refvar 最后一个是面向对象的引用变量
          也叫引用句柄

 包装类型:
         Boolean 使用静态final变量定义,valueOf()就是返回这两个静态值
         Byte: 表示范围 -128~ 127 全部缓存
         Short: 表示范围 -32768 ~ 32767 缓存范围 -128 ~ 127
         Character 0 ~ 65535 缓存范围 : 0 ~ 127
         Long 缓存范围: -128 ~ 127
         Integer:  缓存范围: -128 ~ 127, 唯一可以修改范围的缓存包装类。

      推荐如下使用方式
           (1). 所有的POJO类属性必须使用包装数据类型
           (2). RPC方法的返回值和参数必须使用包装数据类型
           (3). 所有的局部变量推荐使用基本数据类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值