Constructors ในภาษา Java

| Java | 963 | 1055 วันที่แล้ว
บทความนี้เรามาทำความรู้จักกับ Constructors ในภาษา Java กันครับ ซึ่งใน Java นั้น
- ทุก ๆ class จะต้องมี constructor อย่างน้อย 1 constructor
- ถ้าเราไม่ได้เขียน constructor ใน Class แล้ว compiler จะสร้าง default constructor มาให้
- constructor นั้นจะใช้ในการสร้าง object
- constructor นั้นจะคล้าย ๆ กับ method ดังนั้นในบางครั้งก็จะเรียกว่า constructor method
- constructor นั้นจะไม่มีค่า return
- constructor จะต้องมีชื่อเดียวกับชื่อ Class
- constructor จะมีหรือไม่มี argument ก็ได้
- constructor สามารถใช้ในการกำหนดค่าเริ่มต้นให้กับ object ได้

Syntax ของ constructor
มาดู Syntax ของ constructor กันก่อนครับ ตามด้านล่างเลย

constructorName (listOfArguments) {
    [constructor body]
}
จาก Syntax เรามาดูโค้ดที่มี constructor กันหน่อย ตามโค้ดด้านล่างเลย
package com.howtoclicks.example;

public class HowToclicksExample {
	// constructor
	HowToclicksExample() {
		// no return value
	}

	public static void main(String[] args) {
		new HowToclicksExample();
	}
}
ถ้าเราต้องการหลาย ๆ constructor ก็สามารถเขียนได้ ดังนี้
package com.howtoclicks.example;

public class HowToclicksExample {
	private int view;

	// constructor
	HowToclicksExample() {
		// no return value
		// set initial field
		this.view = 1;
	}

	HowToclicksExample(int view) {
		// no return value
		// set initial field
		this.view = view;
	}

	public int getView() {
		return view;
	}

	public void setView(int view) {
		this.view = view;
	}

	public static void main(String[] args) {
		HowToclicksExample howtoclicks = new HowToclicksExample(11);
		System.out.println(howtoclicks.getView());
	}
}
ลำดับการ Run ของ Constructor รู้มาแล้วว่าทุก ๆ Class จะมี Constructor อย่างน้อย 1 Constructor แล้วมีคำถามไหมว่า ถ้าเกิดมีการ Extends Class ขึ้นมา Constructor อันไหนจะ Run ก่อนกัน ดังนั้นลองเขียนโค้ดแล้วลองรันดูครับ
package com.howtoclicks.example;

class Doesystem {
	public Doesystem() {
		System.out.println("Java Doesystem Constructor");
	}
}

public class HowToclicksExample extends Doesystem {
	public HowToclicksExample() {
		System.out.println("Java DoesystemInfo Constructor");
	}

	public static void main(String[] args) {
		new HowToclicksExample();
	}
}
ผลลัพธ์จากการรันโค้ดที่ได้ คือ Java Doesystem Constructor Java HowToclicksExample Constructor จากผลลัพธ์จะเห็นว่า Class แม่จะรัน constructor ก่อน จากนั้นจึงมารัน constructor ที่ Class ลูกต่อ
comments

[1]
AGI
60 D
[1]
Adobe-PDF
1164 D
[1]
Android
1056 D
[2]
Angular
39 D
[40]
Animal
1149 D
[1]
Apache
1164 D
[1]
[4]
[2]
[1]
[10]
CMS-Joomla
1165 D
[2]
CMS-SMF
1165 D
[1]
[4]
[1]
[3]
[1]
Database
1164 D
[4]
[1]
DeAI
25 D
[1]
DeData
25 D
[1]
DeFi
25 D
[2]
Docker
55 D
[2]
[1]
Forex
22 D
[1]
Fruit
1149 D
[1]
General
46 D
[2]
Git
951 D
[6]
HTML
55 D
[1]
Health
50 D
[1]
Housework
1153 D
[2]
IT
1145 D
[2]
Imacro
1165 D
[20]
Java
27 D
[1]
Java-Web
1056 D
[2]
[2]
MQL5
977 D
[3]
MakeMoney
951 D
[18]
[1]
[1]
Maven
950 D
[5]
[1]
Mobile
1162 D
[2]
NGINX
39 D
[2]
NodeJs
55 D
[1]
Oracle
55 D
[3]
Physics
946 D
[4]
PugJS
951 D
[2]
React
961 D
[132]
Science
1147 D
[2]
[5]
Spring
39 D
[12]
[7]
[2]
[1]
[4]
Ubuntu
1115 D
[1]
WebLogic
1146 D
[4]