您的位置:首页 > 游戏 > 游戏 > css全称_房产网站制作公司_网络市场调研的五个步骤_培训班招生方案有哪些

css全称_房产网站制作公司_网络市场调研的五个步骤_培训班招生方案有哪些

2025/2/24 5:10:18 来源:https://blog.csdn.net/qq_46648403/article/details/145532354  浏览:    关键词:css全称_房产网站制作公司_网络市场调研的五个步骤_培训班招生方案有哪些
css全称_房产网站制作公司_网络市场调研的五个步骤_培训班招生方案有哪些

五、面向对象特征 二:继承性(inheritance)


一、继承性的优势:

1、减少代码冗余,提高代码的复用型

2、便于功能的拓展

3、为之后的多态性的使用提高了前提

二、继承性的格式: class A extends B {}

A:子类、派生类、subclass

B: 父类、超类、基类、superclass

2.1体现:一旦 A继承父类 B 之后,子类 A 中就获取了父类 B 中声明的所有的结构:属性、方法

特别的,父类中声明为 private 的属性或方法,子类继承父类之后,仍然认为获取了父类中私有的机构

2.2 子类继承父类之后,还可以声明自己特有的属性或方法:实现功能的拓展

子类和父类的关系,不同于子集和集合的关系,即:子类反而可能比父类更丰富

extends:延展、拓展

三、Java 中关于继承性的规定

​ 1、一个类中可以被多个子类继承

​ 2、Java 中类的单继承性,:一个类只能有一个父类

​ 3、子父类是相对的概念,

​ 4、子类直接继承的父类,称为:直接父类; 间接继承的父类称为:间接父类

​ 5、子类继承父类以后,就获取了直接父类以及所有间接父类中声明的属性和方法

下图为例子来帮助理解一些:

CleanShot 2025-02-09 at 00.57.38@2x

其中 Person 为 Graduate 的间接父类

Soldier、Student、Officer 的直接父类都是 Person

四 1、如果我们没有显式的声明一个类的父类话,则此类继承于 java.lang.Object 类

​ 2、所有的 java 类(除 java.lang.Object 类之外)都直接或间接的继承于 java.lang.Object 类

​ 3、意味着,所有的 java 类都具有 java.lang.Object类声明的功能



5-2 方法的重写(Override/overwrite)


定义:在子类中,可以**根据需要对从父类中继承来的方法进行改造**,也称为方法的重置、覆盖

mac 电脑上面方法重写快捷键为: control+O

应用:重写以后,当创建子类对象以后,通过子类对象调用子父类中同名同参数的方法时,实际执行的是子类重写父类的方法

重写的方法 是同名 同参数列表

区分方法的重载与重写

重写(Override): 是子类对父类允许方位的方法的实现过程进行重新编写,返回值和形参都不能改变。即外壳不变,核心重写。

重载(Overload):是在一个类里面,方法名字相同,二参数不同。返回类型可以相同也可以不同,每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。

区别点重载方法重写方法
参数列表必须修改一定不能修改
返回类型可以修改一定不能修改
异常可以修改可以减少或删除,一定不能抛出新的或更广的异常
访问可以修改一定不能做更严格的限制(可以降低限制)


5.3 四种权限修饰符


类内部同一个包不同包的子类同一个工程
privateYES
(缺省)YESYES
protectedYESYESYES
publicYESYESYESYES

对于 class 的权限修饰符 只可以用 public 和 default (缺省)

public 类可以在任意地方被访问

default 类只可以被同一个包内部的类访问



5.4 关键字: super


super 关键字的使用:

1、super 理解为: 父类的…

2、super 可以用来调用:属性、方法、构造器

3、super的使用

​ 3.1 我么你可以在子类的方法或构造器中,通过使用“super.属性” 或“super.方法”的方式,显式的调用父类的属性或方法;但是通常情况下,我们都省略不写

​ 3.2特殊情况:当子类和父类中定义了同名的属性时,我们要想调用父类中的属性,则必须使用 super.属性来显式调用父类中声明的属性

​ 3.3 特殊情况: 当子类重写了父类的方法,我们想在子类的方法中调用父类被重写的方法,则必须使用 super.方法 来调用

4、super调用构造器

​ 4.1 我们可以在子类的构造器中 显式的使用“super(形参列表)”的方式,调用父类中声明的指定的构造器

​ 4.2“super(形参列表)”的使用,必须声明在子类构造器的首行

​ 4.3 我们在类的构造器中,针对"this(形参列表)"或“super(形参列表)”只能二选一

​ 4.4 在构造器的首行,没有显式的声明“this(形参列表)”“super(形参列表)”时,会有默认的父类空参的构造器 super()构造器

​ 4.5 在类的多个构造器中,至少有一个类的构造器中使用了“super(形参列表)”,调用父类中的构造器



5.5 子类对象的实例化

子类对象实例化的全过程

1.从结果上看:(继承性)

​ 子类继承父类以后,就获取了父类中声明的属性和方法

​ 创建子类的对象,在堆空间中,就会加载所有父类中声明的属性

2.从过程上来看:

​ 当我们通过子类的构造器创建子类对象时,我们一定会直接或间接的调用其父类的构造器,进而调用父类的父类的构造器…直到调用了 java.lang.object 类中的空参的构造器。正因为加载过所有的父类的结构,所以才可以看到内存中有父类中的结构,子类对象才可以考虑进行调用

明确:虽然创建子类对象时,调用了父类的构造器,但是自始至终就创建过一个对象,即为 new 的子类对象



5.6 面向对象特征之三: 多态性


1、理解多态性:可以理解为一个事物的多种形态

2、多态性是啥?

即对象的多态性:父类的引用指向子类的对象(或子类的对象赋给父类的引用)

多态的使用:当调用子父类同名同参数的方法时,实际执行的是子类重写父类的方法—虚拟方法调用

3、多态的使用:虚拟方法调用

​ 有了对象的多态性后,我们在编译期,只能调用父类中声明的方法,但在运行期,我们实际执行的是子类重写父类的方法

总结

总结编译看左边,运行看右边

4、多态的使用前提:a.类的继承关系 b.方法的重写

5、对象的多态性只适用于方法,不适应于属性(编译和运行都看左边)

多态性是运行时行为


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com