Java 是一種面向?qū)ο蟮木幊陶Z言,其中封裝、繼承和多態(tài)是面向?qū)ο蟪绦蛟O(shè)計的三個關(guān)鍵概念。
封裝是面向?qū)ο缶幊讨械囊环N代碼組織方式,它使得代碼實現(xiàn)可以被其他代碼隱藏。在 Java 中,封裝是通過修飾符(public、private、protected 和默認)來實現(xiàn)的。使用 private 來修飾的變量和方法只能在當前類中訪問,而 public 則可以在任何地方訪問,使用 protected 修飾符來修飾可以讓子類訪問。
public class Student { private String name; // 私有變量,限制了訪問范圍 private int age; public String getName() { // 通過公有方法訪問私有變量 return name; } public void setName(String name) { this.name = name; } }
繼承是用于創(chuàng)建新類的機制,通過繼承可以讓子類繼承父類的屬性和方法。在 Java 中使用 extends 關(guān)鍵字來實現(xiàn)繼承。繼承可以使代碼的重用和擴展變得更加容易。
public class Animal { public void eat() { System.out.println("Animal is eating..."); } } public class Dog extends Animal { // Dog 繼承了 Animal public void bark() { System.out.println("Dog is barking..."); } } public class Main { public static void main(String[] args) { Dog dog = new Dog(); dog.eat(); // 調(diào)用父類方法 dog.bark(); // 調(diào)用子類方法 } }
多態(tài)是面向?qū)ο缶幊痰囊粋€核心概念,它允許使用不同的實現(xiàn)方式來實現(xiàn)相同的操作。在 Java 中通過方法的重載和覆寫來實現(xiàn)多態(tài)。方法重載是指在同一個類里面定義多個方法,它們的名稱相同但是參數(shù)列表不同;方法覆寫是子類重寫父類的方法,使得子類可以給出自己的實現(xiàn)。
public class Animal { public void eat() { // 父類方法 System.out.println("Animal is eating..."); } } public class Dog extends Animal { @Override public void eat() { // 子類覆寫父類方法 System.out.println("Dog is eating..."); } } public class Main { public static void main(String[] args) { Animal animal1 = new Animal(); Animal animal2 = new Dog(); // 父類引用指向子類對象 animal1.eat(); // 調(diào)用父類方法 animal2.eat(); // 調(diào)用子類方法 } }
這就是 Java 中的三個面向?qū)ο缶幊痰年P(guān)鍵概念:封裝、繼承和多態(tài)。它們使得代碼變得更加靈活、易于重用和擴展。