DAY14-JAVA的继承(1)

对OOP的程序来说,类别的精随之处在於类别有「继承」(inheritance)这项功能,继承可以让我们以既有的类别为基础,进而衍生出新的类别。

JAVA可以根据既有类别为基础,进而衍生出另一类别,这种概念称之为「类别的继承」,此时,既有的类别称为父类别(super class)或基底类别(basic class),而衍生出的类别称为子类别(sub class)或衍生类别(derived class)。

在JAVA中,每一个类别只能有一个父类别,这是所谓的单一继承(single inheritance),但相反的,一个父类别可以拥有一个以上的子类别。

经过继承之後,子类别便可拥有父类别的成员,包括所有的资料成员与函数成员,但并不代表在子类别中,便可以完全没有限制的存取这些成员。

子类别可以继承的
(1)没有宣告成public或是private的成员
(2)public成员
(3)protected成员

子类别不能继承的
(1)建构元
(2)设定终止继承的成员
(3)private成员(不能直接在子类别存取,只能透过父类别的函数做存取)

extends
类别的继承关键字是extends,以下是语法:

class 父类别名称{
//父类别里的成员
}
class 子类别名称 extends 父类别名称{
//子类别里的成员
}

class Test{  //父类别Test
    private height = 10;
    private double width;
    ...
}
class haha extends Test{  //子类别haha继承父类别Test
    ...
}

JAVA在执行子类别的建构元之前,会先呼叫父类别的建构元,其目的是为了要帮助继承自父类别的成员做初始化的动作。

菜鸟工程师的体脂肪

菜鸟工程师也有分享食记,欢迎大家追踪喔~~
https://instagram.com/engineer_bodyfat?utm_medium=copy_link

开学啦~~今天先到这!!
趁空堂写一下XD
See U tomorrow:))


<<:  Spring Framework X Kotlin Day 11 NoSQL

>>:  序章

Day29:Azure小白想早下班--之--使用Azure Synapse Analytics汇入数PB资料

在昨天我们讲过Azure小白如何使用Azure Cache for Redis来存取常用资料後 今天...

整合架构说明

从第一天到今天, 主轴是从training、tracking到serving. 在第一个范例(fas...

LineBot - 身份验证

因为 LineBot 是利用 Line官方帐号的机制在运作,所以只要加入好友,就可以使用,我只是要自...

微聊 铁人赛 最终回

今天居然就是铁人赛的最後一天了,没想到!!没想到啊!!!! 今天就来聊最後一回,这 30 天微人都经...