java的面向对象编程(oop)——继承概述及使用

发布时间:2024年01月17日

前言:

整理下相关知识点,打好基础,daydayup!

?其他oop相关的整理可以看这里?

java的面向对象编程(oop)概述及案例?

java的面向对象编程(oop)——static概述及初始单例设计模式?

继承:

1,继承概述

什么是继承

java中提供的一个关键字extends,用这个关键字,可以让一个类与另一个类建立父子关系。

2,继承的特点?

1,子类能继承父类的非私有成员(成员变量,成员方法)

2,子类的对象由子类,父类共同完成?

3, 继承的格式:

类1称为子类;类2称为父类

类1 extends 类2

例:jichengA是jichengB的子类

public class jichengA extends jichengB{

}

例:jichengA(父类)中创建公开成员变量及成员方法后,jichengB(子类)中可以直接使用;同时在其他类中,创建子类后,可以引用父类和子类的公开成员变量及成员方法

?

4,继承的作用:

减轻代码重复

例:a需要设置两个变量a和name;b需要设置两个变量b和name;由于a和b都需要设置name,为了防止代码重复,可以使name成为父类成员变量

做法如下图:A创建a变量,B创建b变量;C创建name变量,同时C为A和B的父类;最后在新的类中创建A和B类既可引用name变量,且同时引用A和B中的name变量时,name值不会被覆盖

5,注意事项?

?1,继承不支持同时继承;但支持间接继承

class a extends b,c {} //不可以,不支持同时继承
--------------------------
class b extends a{}
class c extends b{}
class c {}
//支持间接继承

2,object类为所有类的父类

如图:上下两项相等

class a {}
class a extends object{}

?6,方法重写:

子类写了一个方法名称,形参列表与父类某个方法一样的方法覆盖父类的该方法

例:当B为C的子类时,觉得C里方法不好用时,可以在B里写同样的方法然后进行替换;(注:最好在新替换的方法上写@Override来进行提醒)

7,访问对象

1,在子类方法中访问其他成员(成员变量,成员方法),依照就近原则

先在子类的局部范围内找;其次在子类成员范围内找;最后在父类范围内找

2,如果子父类中,出现了重名的成员,会优先使用子类,使用父类需要使用super关键字,使用子类非局部需要用this关键字,如下:

?8,子类构造器的特点

子类的全部构造器,都会先调用父类的构造器,再执行自己

9,子类构造器如何实现调用父类构造器

1,默认情况,子类全部构造器第一行为super()(默认存在),这个语句会调用父类的无参构造器

2,如果父类没有无参构造器,则必须在子类构造器第一行写super(参数),调用父类有参构造器

注:与super(参数)类似的语句还有this(参数)。super参数调用的是父类有参构造器,而this(参数)调用的是子类自己的构造器。都必须放在构造器的第一行。

整理结束,撒花!

?

?

?

?

?

?

?

文章来源:https://blog.csdn.net/l822099133/article/details/135630856
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。