其他分享
首页 > 其他分享> > 2022/7/23 第六组 王梦龙 学习记录

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

作者:互联网

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