一、继承
1、继承的使用要点:
- 父类也称作超类、基类。子类:派生类等。
- Java中只有单继承,没有像C++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。
- Java中类没有多继承,接口有多继承。
- 子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法。例如父亲年轻时写的情书,子类不能用),但不见得可以直接访问(比如,父类私有的属性和方法)。
- 如果定义一个类时,没有调用extends,则它的父类是: java.lang.Object。
重载:@overload
- 在同一个类中,方法名字必须一样。
- 参数列表不一样。
- 返回值类型可以相同,也可以不相同。
重写:@overwrite(@override:重写时语法检查)
- 在父类子类中,方法的名字,参数都一样。
- 调用方法的时候,优先调子子类的方法。如果子类中没有方法,则调用父类的。
注意:
- 重写方法和被重写方法必须具有相同的方法名和参数列表
- 重写方法的逐回值类型必须和被重写方法的返回值类型相同或者是其子类
- 重写方法的不能缩小被重写方法的访问权限
子类重写父类方法即可(方法重写:在子类中根据需求对从父类继承的方法进行重新编写)
2、super的使用
- 可以使用super调用父类的属性和方法和构造方法
- super关键字和this关键字的作用类似,都是将被屏蔽了的成员变量、成员方法变为可见可用。super用在子类中,访问直接父类中的被屏蔽的内容,进一步提高代码的重用性和员活性。super关键字不仅可以访问父类的构造方法,还可以访问父类的成员,包括父类的属性、一般方法等,无法通过super访问private成员。
3、equals和==方法比较
- equals比较两个对象(hashCode)的内存地址;如果一样就返回true,不一样就返回false。
-
“==”代表比较双方是否相同。如果是基本类型则表示值相等,如果是引用类型则表示地址相等即是同一个对象。
-
equals()提供定义“对象内容相等”的逻辑。比如,我们在公安系统中认为id相同的人就是同一个人、学籍系统中认为学号相同的人就是同一个人。
-
equals()默认是比较两个对象的hashcode。但,可以根据自己的要求重写equals方法。
-
System.out.println(2<<3);//结果是16,左移(十进制的2(10),向左移三位(10000))
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步