2021-05-27

本文详细介绍了Java中的继承特性,包括单继承、extends关键字、super的使用以及构造方法的调用规则。同时,讲解了Object类作为所有类的父类及其常用方法,如toString()、equals()等。此外,还阐述了方法的重写规则,以及重写与重载的区别。通过对这些概念的理解,有助于深入掌握Java面向对象编程。
摘要由CSDN通过智能技术生成

第七章 继承与多态

1、继承(可以解决代码等的冗余问题)

1)继承是面向对象的三大特性之一

2)在Java中  只支持单继承(每个类只能有一个直接父类)

3) extends (关键字)

语法:

访问修饰符  class  类名<子类>  extends  类名<父类>{

 

}

子类可以从父类中继承 属性和方法  但无法继承父类的构造方法   子类无法继承父类的构造方法

public 、protected 访问修饰符 (无论子类和父类是否在同一个包中都可以继承)  

默认访问修饰符 (父类和子类必须在同一个包中)

-----------------------------------------------------------------------------------------------

super关键字(当子类中需要调用父类的构造方法、成员时使用)

***1、super关键字只能出现在子类(子类的构造方法、方法)中

***2、用于访问父类的成员,但具有访问权限,无法通过super关键字访问父类的private成员

super();//调用父类的无参构造方法

super(相应的参数);//调用父类的有参构造方法

super . 父类属性/方法

--------------------------------------------------------------------------------------------

实例化子类对象

1、Java 中  创建该类的对象(实例化) 构造方法会执行

2、创建该类子类的对象(子类实例化) 构造方法会执行

*** 1)如果子类的构造方法中没有通过super关键字调用父类的有参构造方法,也没有用this调用自身的构造方法,系统会默认调用父类的无参构造方法

*** 2)如果子类的构造方法中通过super关键字现实的调用了父类的有参构造方法,会执行父类相应的构造方法,不会执行父类的无参构造方法

*** 3)如果子类的构造方法中通过 this 现实的调用了自身的其他构造方法,在相应的构造方法中遵循以上两条规则

------------------------------------------------------------------------------------------

Object类(是所有类的父类,及所有的java类都直接的继承或间接的继承了java.long包中的Object类)

如果没有 extends关键字 那么这个类就直接继承Object类

Object类中的部分方法:

1、toString() 转换成String类行,返回字符串对象

2、equals() 比较两个字符串内容是否相同  返回值 boolean类型

3、clone()  生成当前对象的一个副本,并返回

4、hashCode() 返回该对象的哈希代码值

5、getClass() 获取当前对象所属的类信息,返回Class对象

-------------------------------------------------------------------------------------------

方法重写(如果子类从父类中继承的方法不能满足子类的需求,就可以在子类中对父类的同名方法进行重写)

1)重写方法和被重写的方法必须同名

2)重写的方法和被重写的方法必须具有相同的参数列表

3)重写方法的返回值必须和被重写的方法返回值相同或是其子类

4)重写方法不能缩小被重写发方法的访问权限

*** 重写 、重载

1、重载:在同一个类中同名的方法(同名不同参,与返回值无关)

2、重写:在子类和父类之间( 同名同参返回值类型相同 )

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值