当前位置: 代码迷 >> 综合 >> 码出高效,面向对象
  详细解决方案

码出高效,面向对象

热度:64   发布时间:2023-10-08 18:37:21.0
方法覆写:
可以总结为容易记忆的口诀:一大两小两同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 ~ 127Character 0 ~ 65535 缓存范围 : 0 ~ 127Long 缓存范围: -128 ~ 127Integer:  缓存范围: -128 ~ 127, 唯一可以修改范围的缓存包装类。推荐如下使用方式(1). 所有的POJO类属性必须使用包装数据类型(2). RPC方法的返回值和参数必须使用包装数据类型(3). 所有的局部变量推荐使用基本数据类型