首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Java 物件、類別與方法重載核心觀念入門

     編輯:Java 相關知識

物件導向三要素

概念說明程式對應
物件現實實體的抽象new Class() 產生的實例
屬性靜態特徵(名詞)成員變數
行為動態能力(動詞)成員方法

類別定義範本

class Dog {
    // 存取修飾符:private(僅本類) / default(同包) / public(公開)
    private String name = "大黃";
    private String owner;

    // Getter/Setter 封裝
    public String getName() { return name; }
    public void setName(String name) {
        if (!name.equals(owner)) this.name = name;  // 業務規則
    }

    // 行為方法
    public void bark() { System.out.println(name + ":旺旺旺!"); }
}

實例化與使用

public class Main {
    public static void main(String[] args) {
        Dog d = new Dog();           // 無參建構子
        d.setName("小黃");
        System.out.println("名字:" + d.getName());
        d.bark();
    }
}

方法重載規則

  • 同類別(或父子類)中
  • 方法名相同
  • 參數列表不同(個數、型別、順序)
  • 回傳型別、修飾符、拋出異常可任意
  • 不可僅靠回傳型別區分

重載範例

class Calc {
    int add(int a, int b) { return a + b; }
    double add(double a, double b) { return a + b; }
    int add(int a, int b, int c) { return a + b + c; }
    // 編譯器依實參型別自動選擇
}

建構子重載

class User {
    String name; int age;
    User() { this("匿名", 0); }
    User(String name) { this(name, 0); }
    User(String name, int age) { this.name = name; this.age = age; }
}

新手必記口訣

「同名不同參,重載不看回傳;
子類重寫父類方法,參數回傳全要同;
封裝私有給公共,get/set 守規則。」

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved