ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

2022/7/23 第六组 王梦龙 学习记录

2022-07-23 22:02:03  阅读:95  来源: 互联网

标签:重写 String 23 子类 王梦龙 2022 父类 方法 public


Java面向对象之继承和继承

思维导图

封装

什么是封装?

封装就好比电脑的机箱,我们不需要考虑机箱内部是怎么运行的,结构是怎样的,我们只要把接口插上能够使用它的功能即可。

封装的意义:

1、提高代码的安全性,保护数据

2、提高了程序的可维护性和可扩展性

如何实现封装

1、将成员变量用private私有化

2、提供get()、set()方法,set()用来设置属性的值,get()用来得到属性的值

1  private String idCard;//银行卡号
2     private String name;//持卡人姓名
3     private String password;//银行卡密码
 1  public String getIdCard() {
 2         return idCard;
 3     }
 4 
 5     public void setIdCard(String idCard) {
 6         this.idCard = idCard;
 7     }
 8 
 9     public String getName() {
10         return name;
11     }
12 
13     public void setName(String name) {
14         this.name = name;
15     }
16 
17     public String getPasswrd() {
18         return password;
19     }
20 
21     public void setPasswrd(String password) {
22         this.password = password;
23     }
24 
25     public Double getBalance() {
26         return balance;
27     }
28 
29     public void setBalance(Double balance) {
30         this.balance = balance;
31     }

 

private关键字

private修饰的属性和方法只能当前类访问,其他类不可访问,这也是能实现封装的重要原因

继承

什么是继承

在生活中,儿女继承父亲的姓,而名可以随意起,遗传父母的长相,而又不完全一样。父亲的遗产,儿女可以选择继承也可以选择放弃...

在Java中,继承也是如此,Java把继承别的类的属性和方法的类称为子类(基类),把被继承的类称为父类(超类)

子类继承父类功能的同时又可以进行扩展、升级。

继承的作用

1、提高了代码的复用性

2、提高了代码的可维护性

3、子类对父类继承的方法进行扩展

如何实现继承?

extends关键字

在Java中使用extends关键字来表明类与类之间的继承关系

类名(子类)extends类名(父类)

一个类只能有一个父类(直接父类),但可以有多个子类

方法的重写

子类继承父类的方法并可能进行扩展称为方法的重写override

1  public Card out(Double money) {
2         balance -= money;
3         flag = true;
4         showOutMessage(money);
5         return this;
6     }
1 public DebitCard out(Double money){
2         if (money<=outAmount){
3             super.out(money);
4         }else {
5             setFlag(false);
6         }
7         setOutAmount(money);
8         return this;
9     }

 

方法的重写要求

1、访问权限:重写后的方法权限必须低于或等于被重写的方法(开发中一般是等于)

2、返回值类型:基本数据类型必须一致,引用数据类型子类的必须低于或等于父类

3、方法名:必须相同

4、参数列表:必须相同

5、抛出异常:重写的方法抛出的异常不能抛出比被重写方法更大的异常

super关键字

使用super关键字可调用父类的方法和属性(非私有)

super.方法名()调用父类的方法

super.属性名调用父类的属性

super(参数列表)

super(参数列表)可在子类构造方法中调用父类的构造方法

super(参数列表)只能写在子类的构造方法中且必须在构造方法内的第一行

当使用super()调用父类的构造方法时,先执行父类的构造方法,在执行子类的构造方法

Objectlei类

Object类是Java所有类的父类(直接或间接父类),根类

Object类中的常用方法

tostring()方法

返回值为String类型,可根据子类不同的重写而实现不同的输出结果

equals()方法

返回值为boolean类型,可根据子类不同的重写而实现不同的比较方式

例如:字符串中的equals方法比较两个字符串值是否相等

而Integer类的equals方法在byte范围内比较的是值是否相等,而超出这个范围则比较的是地址

Object类中有11个方法
1.hashCode();它的返回值实际上就是对象运行时的内存地址。
hash算法:一般翻译“散列”,把任意长度的输入,通过一个散列算法变换成固定长度的输出,输出结果就是散列值。
密码加密MD5加密
SHA家族
2.equals(),和==没区别,比地址。为了让子类重写。
3.toString(),转换成字符串。当我们直接使用对象时,会默认调用toString()方法。
为了让子类重写
4.finalize(),垃圾回收的方法
5.clone(),克隆,必须实现Cloneable接口

标签:重写,String,23,子类,王梦龙,2022,父类,方法,public
来源: https://www.cnblogs.com/wanysyswml/p/16513162.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有