Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

โครงสร้างและสมาชิกของ Java Program

โครงสร้างมาตรฐานของ Java Class


// 1. Package declaration (optional)
package com.example;

// 2. Import statements
import java.util.*;

// 3. Class declaration
public class ClassName {
    // 4. Fields (instance/static variables)
    static int staticField = 10;
    int instanceField;
    
    // 5. Constructors
    public ClassName() { }
    public ClassName(int val) { this.instanceField = val; }
    
    // 6. Instance Initializer Blocks (optional)
    { System.out.println("Instance init"); }
    
    // 7. Static Initializer Blocks (optional)
    static { System.out.println("Static init"); }
    
    // 8. Methods (instance/static)
    public void instanceMethod() { }
    public static void staticMethod() { }
    
    // 9. Main method (entry point)
    public static void main(String[] args) {
        // Execution starts here
    }
}

รายละเอียดสำคัญ

Main Method

  • Signature: public static void main(String[] args)
  • public - JVM ต้องเข้าถึงได้
  • static - เรียกได้โดยไม่ต้องสร้าง instance
  • void - ไม่คืนค่า
  • String[] args - command line arguments

Constructors

  • ชื่อเดียวกับ class, ไม่มี return type
  • ใช้ initialize object
  • ไม่สามารถเป็น final, abstract, static, synchronized ได้
  • Default constructor ถูกสร้างอัตโนมัติถ้าไม่มี constructor ใดๆ

Methods

  • Instance method: ใช้ this, เข้าถึง instance fields ได้
  • Static method: ใช้ ClassName.method(), เข้าถึง static fields ได้อย่างเดียว
  • สามารถเป็น final, abstract, static, synchronized ได้

ตัวอย่างสมบูรณ์


public class Employee {
    static int hireYearBase = 2017;
    int id;
    
    public Employee(int id) {
        this.id = id;
        hireYearBase++;
    }
    
    public void display() {
        System.out.println("Static: " + hireYearBase + ", Instance: " + id);
    }
    
    public static int square() {
        return hireYearBase * hireYearBase;
    }
    
    public static void main(String[] args) {
        Employee e1 = new Employee(2018);
        System.out.println("First object created");
        e1.display();
        System.out.println("Square: " + Employee.square());
    }
}

ผลลัพธ์

First object created
Static: 2018, Instance: 2018
Square: 4072324