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

Java 類與接口核心機制:聲明、實例化、繼承、包機制全解析

     編輯:Java 程式設計入門

類的聲明與修飾符

[public] [abstract | final] class ClassName [extends Parent] [implements Interface...] { ... }
修飾符含義
public任意處可見,文件名必須一致
abstract不可實例化,含抽象方法或設計為被繼承
final不可被繼承,如 String、Integer
(package-private)同包可見,無修飾符

實例化與靜態成員

MyClass obj = new MyClass();        // 實例
MyClass.staticMethod();             // 靜態方法屬於類,無需實例
// 靜態方法只能訪問靜態字段(System.out 例外)

繼承機制

public class Child extends Parent { ... }
  • 子類繼承父類非私有字段/方法。
  • 單繼承:一個類只能有一個直接父類。
  • super 調用父構造器/方法,this 區分同名字段/調用本類構造器。

包機制

package com.company.project.module; // 必須為文件第一行非註釋語句
  • 目錄結構對應包層級:src/com/company/project/module/MyClass.java
  • 導入:import com.company.project.module.*; 或 import com.company.project.module.MyClass;
  • 避免 .* 導入:防止同名類衝突、減少編譯掃描、明確依賴。

完整示例:工具類與包結構

package mypack;

public class Tools {
    /** 替換字符串中所有目標子串 */
    public String replaceAll(String source, String target, String replacement) {
        if (source == null || target == null || target.isEmpty()) return source;
        StringBuilder sb = new StringBuilder();
        int idx = 0, pos;
        while ((pos = source.indexOf(target, idx)) != -1) {
            sb.append(source, idx, pos).append(replacement);
            idx = pos + target.length();
        }
        sb.append(source.substring(idx));
        return sb.toString();
    }

    public static void main(String[] args) {
        Tools t = new Tools();
        System.out.println(t.replaceAll("abcd", "b", "d")); // adcd
    }
}

接口核心規則

  • 默認 public abstract 方法,JDK 8+ 支援 default/static/private 方法。
  • 字段隱式 public static final(常量)。
  • 類通過 implements 實現多個接口,實現多態替換。
  • 接口可繼承接口(extends),形成契約層級。

訪問控制矩陣

publicprotectedpackageprivate
同類✓✓✓✓
同包子類✓✓✓✗
同包非子類✓✓✓✗
異包子類✓✓✗✗
異包非子類✓✗✗✗

設計原則

  1. 高內聚低耦合:單一職責類,接口定義契約。
  2. 優先組合,繼承慎用(IS-A 驗證)。
  3. 依賴倒置:高層模組依賴抽象(接口),不依賴具體實現。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved