Day 25 constructors、this、static

constructors :
Java 中建立物件需要建构子,如果类别没有定义建构子,编译器就会提供一个预设的建构子,我们可以使用建构子在定义类别时进行物件的初始化,如果有需要的话,一个类别可以有多个构造函数。
创建一个建构子:假设在程序里将x , y 输入为 10 , 20

Step1 我们会先在物件导向的class里面private x , y,并定义为int。
并public a , b,让x = a, y = b
https://ithelp.ithome.com.tw/upload/images/20211007/20140456EvtDbCAx0P.png

Step2 在main方法里new 一个object建构子,并直接把要输入x , y的数
写在建构子後的括弧,如下图所示:
https://ithelp.ithome.com.tw/upload/images/20211007/20140456rn8cav8DwR.png

This :
在写程序时,难免会遇到建构式参数与物件资料成员同名,此时我们可以利用
This来区别,而this可以用在没有static的任何地方。也可以使用 this() 来调用同一个建构子中的另一个建构子。
上一个建构子的例子,如果不想要多定义函数a , b的话,this就派上用场,
因为说穿了a就是x,b就是y,但我们不会这样写:
https://ithelp.ithome.com.tw/upload/images/20211007/20140456o62LX5ohJU.png

正确写法如下:
https://ithelp.ithome.com.tw/upload/images/20211007/201404568Hzh2AwIYN.png

Static :
用static修饰过的属性是存放在静态区域,并且在一开始就被载入记忆体,用static就不可以用this。

以下有一个计算两点间距离的例子,用this及static两种写法,差别如下:
This:站在某个点身上去呼叫另一个点来计算
https://ithelp.ithome.com.tw/upload/images/20211007/20140456wWrJKl0zeu.png

Static:直接给两点first、second去计算。
https://ithelp.ithome.com.tw/upload/images/20211007/20140456LQwqK61WVg.png


<<:  Day25 Matrix

>>:  [前端暴龙机,Vue2.x 进化 Vue3 ] Day28.Vue3 小补充 Magic ~

Day30. Blue Prism本届最终章 –BP幕後花絮

记忆犹深的痞客帮铁人赛第一天, 由於首次加入铁人赛的行列, 因此开了一篇不在铁人赛内的文章, 当天发...

价值型投资 VS 成长型投资

很多投资人都听过,价值型投资与成长型投资 那究竟这两种的差异是甚麽呢?我来给各位做个简单的解释。 价...

企划实现(19)

在写app时常常会因为所有app在外观看起来一样,所以往往会要找很久才能找到自己想要执行的app,所...

Day09:程序码编辑器的实用快捷键(1)

一、前言   VSCode 是微软开发的文字编辑器,同时支援 Windows、Linux 和 mac...

从 JavaScript 角度学 Python(8) - BMI 计算(1)

前言 接下来这一篇算是收割前面几个章节的章节小练习,基本上我是尽量规划每过几个章节就有一些小作业、小...