当前位置:网站首页>Day019 Method overriding and introduction of related classes
Day019 Method overriding and introduction of related classes
2022-08-05 04:21:00 【Strange year】
One, method rewriting
1. The concept of method overriding
(1) The subclass rewrites the method inherited from the parent class according to the requirements
(2) When rewriting, you can use the super. method to retain the method of the parent class
(3) The constructor cannot be overridden
2. Method rewrite rules
(1) The method name is the same
(2) The parameter list is the same
(3) The return value type is the same or its subclass
(4) The access authority cannot be stricter than the parent class
(5) The static method of the parent class cannot be overridden as a non-static method by the child class, and the non-static method of the parent class cannot be overridden as a static method by the child class
(6) A subclass can define a static method with the same name as the parent class, so as to hide the static method of the parent class in the subclass (Note: super cannot be used in static methods)
(7) The private method of the parent class cannot be overridden by the child class
(8) Cannot throw more exceptions than the parent class method
2. The difference between method overriding and method overloading
Second, Object class
Object class: is the parent class of all classes
Methods of the Object class that are often overridden by subclasses
1. equals() method of Object class
(1) Compare whether the two objects are the same object, if yes, return true
(2) operator
1 Simple data type, compare the value directly.Such as 1==2
②Reference type, compare whether the two are the same object
Note:
(1) The equals() method of the Object class is no different from ==
(2) When there are special requirements, such as when the same attributes are considered to be the same object, equals() needs to be rewritten
(3) Java.lang.String rewrites the equals() method, changing the judgment of the equals() method into judging its value
2. Exercise
package cn.bdqn.demo04;import java.util.Objects;public class Student {private String name;private int idCard;private int age;public Student() {}public Student(String name, int idCard, int age) {this.name = name;this.idCard = idCard;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getIdCard() {return idCard;}public void setIdCard(int idCard) {this.idCard = idCard;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}@Overridepublic boolean equals(Object o) {if (this == o) return true;if (o == null || getClass() != o.getClass()) return false;Student student = (Student) o;return idCard == student.idCard && age == student.age && Objects.equals(name, student.name);}}
package cn.bdqn.demo04;import java.sql.SQLOutput;public class Test {public static void main(String[] args) {Student stu1=new Student("Zhang San",1234,22);Student stu2=new Student("xx",1234,22);System.out.println(stu1.equals(stu2));}}
边栏推荐
- UE4 通过互动(键盘按键)开门
- AUTOCAD - dimension association
- bytebuffer internal structure
- 使用IDEA连接TDengine服务器
- Haproxy搭建Web群集
- [8.1] Code Source - [The Second Largest Number Sum] [Stone Game III] [Balanced Binary Tree]
- [SWPU2019]Web1
- 多列属性column元素的可见性:display、visibility、opacity、垂直对齐方式:vertical-align、z-index 越大越显示在上层
- 35岁的软件测试工程师,月薪不足2W,辞职又怕找不到工作,该何去何从?
- DEJA_VU3D - Cesium功能集 之 059-腾讯地图纠偏
猜你喜欢
token, jwt, oauth2, session parsing
[MRCTF2020]PYWebsite
36-Jenkins-Job Migration
Paparazzi: Surface Editing by way of Multi-View Image Processing
iMedicalLIS listener (2)
Develop your own node package
Use IDEA to connect to TDengine server
日志导致线程Block的这些坑,你不得不防
mutillidae下载及安装
MySql index learning and use; (I think it is detailed enough)
随机推荐
bytebuffer use demo
No regrets, the appium automation environment is perfectly built
Index Mysql in order to optimize paper 02 】 【 10 kinds of circumstances and the principle of failure
How to solve complex distribution and ledger problems?
机器学习概述
How to wrap markdown - md file
【Mysql进阶优化篇02】索引失效的10种情况及原理
[MRCTF2020]Ezpop(详解)
小程序_动态设置tabBar主题皮肤
Android interview question - how to write with his hands a non-blocking thread safe queue ConcurrentLinkedQueue?
说说数据治理中常见的20个问题
The production method of the powered small sailboat is simple, the production method of the electric small sailboat
Mini Program_Dynamic setting of tabBar theme skin
炎炎夏日教你利用小米智能家居配件+树莓派4接入Apple HomeKit
[MRCTF2020] Ezpop (detailed)
DNS被劫持如何处理?
Use IDEA to connect to TDengine server
什么是ASEMI光伏二极管,光伏二极管的作用
DEJA_VU3D - Cesium功能集 之 056-智图Arcgis地图纠偏
Cron(Crontab)--use/tutorial/example