div不继承父类样式_Java基础,类的继承。浅显的认识,希望对大家有所帮助!...

Java基础:继承

读者老爷们大家好,今天图图带大家了解一下java基础里的继承。

4212b4a909d0ba6228866748a1626044.png

首先确定一下我们今天的学习的三个目标。第一个是类的继承;第二个是访问控制权限;第三个方法重写(覆盖)override。好滴,话不多说,让我们快乐的投身知识的海洋里吧!

Java面对的对象呢有三大基本特征,分别是封装,继承,多态。今天我们说的就是其中之一:继承。继承是Java面向对象的重要特征之一,它的原理就是将公共的这些个属性啊方法啊,给它抽取出来,之后呢,形成父类(公有类),然后通过继承,子类就将自动具有了父类的属性与方法,从而达到类的简化,达到代码复用的目的。从上面的原理中不难看出,继承的优点就在于能把设计简化处理,能把我们敲写的代码复用。还能让我们站在巨人的肩膀上,子类可以扩充父类没有的属性和方法。扩充的多了,自然而然就能满足更多的需求。

f07766fe9205cd09edca50f86274e218.png

一直在说子类,父类。那到底什么叫子类?什么叫父类呢?他们又都有什么限制什么特征呢?我们来简单看一下。

通常我们把实现继承的类,也就是继承者,称为子类,也叫派生类,而被继承的类,也就是贡献者,称为父类,也叫超类或基类。在权限允许的前提下,通过继承,子类可以使用父类中的方法和变量。这里要注意的是,并不是所有都能继承,可以继承的包括普通方法和属性,但是构造器、私有方法则不能被继承。而Java类只支持单根继承,不允许多重继承,通俗的说也就是一个儿砸只能有一个老爹,而一个老爹则可以有很多儿砸。就是这么的浅显易懂,一目了然~

这就是单根继承的图,供读者老爷们参考。

11c29723fe60658878f232b0d261a4c8.png

继承的实现:使用extends关键字:public class Dog extends Animal {

}

有子类,父类,也有最高父类:object类。Object类是所有Java类的根父类,也就是最高父类,任何一个java类(class)都直接或者间接继承Object类,通俗地讲它就是祖宗。只要是在类声明中未使用extends的关键字来表明其父类,那么默认的父类都是Object类

public class Person {

...

}

==》

public class Person extends Object {

...

}

ccea5295a533df6e53d3098f02877da6.png

接下来说一下super关键词的应用以及作用。首先大家要知道,super指的是父类的组成成员,那么它的应用场景就是当想要调用父类中的同名属性,方法,构造方法时,可以使用super关键字。它是访问父类中定义的一种属性,在非静态的情况下,调用父类中定义的成员。而他的作用就是用于在子类构造器中调用父类对应构造器。

那么super有哪些需要注意的事项呢?我们接着往下看。

super只能在成员方法和构造方法中使用,不能在静态方法中使用,super()调用父类构造方法,只能在子类构造方法中,而且呢必须放在第一行。super()可以通过传参,调用父类重载的构造方法。子类构造方法中,默认会调用父类无参构造方法。

那么我们可以想一下这三个问题。

在构造方法中,super(...)和this(...)可以同时出现吗?

如果父类中显式定义了一个有参构造方法,子类中的构造方法中可以不写super()也不写this()吗?

this和super有何异同?

带着疑问,我们继续学习继承中的构造方法。创建子类对象时,必须先显式或隐式地调用其父类的构造方法

显式:子类可以在自己的构造方法中使用super(…)显式调用其父类对应参数的构造方法

隐式:如果子类的构造方法中没有显式调用父类的构造方法,则系统默认调用父类无参构造方法(如果此时父类没有无参构造方法,则编译出错)

看一下子类对象实例化的一个过程

a7fe1d42d21e1e41ee805c063b6dc0d5.png
eb568b36fadf24ec2213dae633046319.png

我们在创建自类对象时,按顺序执行可以表现为:

父类static{}

子类static{}

父类{}

父类构造方法

子类{}

子类构造方法

最后,我们要知道,Java中,可以在类、属性、方法前面加上修饰符,从而进行访问权限的控制。

0b3e4dc47d519616a3f6ec1b73f5c17d.png

编辑不易,如果有什么写的不恰当的地方,请各位观众老爷们多多包涵,图图给各位抱拳了~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值