色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

java重寫重載和隱藏封裝

在Java中,有三種常見的面向?qū)ο缶幊?(OOP) 概念:重寫、重載和隱藏封裝。

重寫 (Override) 是指子類通過繼承父類的方法,在自己的類中重新定義一遍該方法。重寫發(fā)生在兩個(gè)類之間,其中一個(gè)是子類,另一個(gè)是父類。

<code>public class Animal {
public void makeSound() {
System.out.println("Animal makes sound.");
}
}
public class Cat extends Animal {
@Override
public void makeSound() {
System.out.println("Meow!");
}
}
public class Example {
public static void main(String[] args) {
Animal animal = new Animal();
animal.makeSound(); // 輸出 "Animal makes sound."
Cat cat = new Cat();
cat.makeSound(); // 輸出 "Meow!"
}
}
</code>

在上述示例中,Cat 類重寫 (Override) 了 Animal 類的 makeSound() 方法。在調(diào)用 Cat 類的 makeSound() 方法時(shí),會(huì)輸出 "Meow!",而不是 Animal 類的 makeSound() 方法中輸出的 "Animal makes sound."。

重載 (Overload) 是指在同一個(gè)類中,為一個(gè)方法定義多個(gè)簽名。這些簽名應(yīng)該有不同的參數(shù)類型和/或參數(shù)數(shù)量。當(dāng)使用重載函數(shù)時(shí),編譯器會(huì)自動(dòng)選擇最匹配的函數(shù)進(jìn)行調(diào)用。

<code>public class Calculator {
public int add(int a, int b) {
return a + b;
}
public int add(int a, int b, int c) {
return a + b + c;
}
}
public class Example {
public static void main(String[] args) {
Calculator calculator = new Calculator();
System.out.println(calculator.add(1, 2)); // 輸出 3
System.out.println(calculator.add(1, 2, 3)); // 輸出 6
}
}
</code>

在上述示例中,Calculator 類中的 add() 方法被重載了兩次,分別有兩個(gè)參數(shù)和三個(gè)參數(shù)。在使用 add() 方法時(shí),編譯器會(huì)自動(dòng)匹配最匹配的 add() 方法。

隱藏封裝 (Encapsulation) 的意義是:把類設(shè)置為私有,使得只有類內(nèi)部的代碼可以訪問它。這個(gè)意義被稱為數(shù)據(jù)隱藏 (Data Hiding)。為了保證類中的私有成員不會(huì)被外部程序訪問,我們需要以訪問修飾符 private 來定義這些成員。

<code>public class Person {
private int age;
public void setAge(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
public class Example {
public static void main(String[] args) {
Person person = new Person();
person.setAge(20);
System.out.println("Age: " + person.getAge());
}
}
</code>

在上述示例中,Person 類中的 age 成員被隱藏封裝。它只能在 Person 類中被訪問,因?yàn)樗欢x為私有成員。不過,通過 setAge() 和 getAge() 方法可以在外部訪問 age 成員,但這些方法已經(jīng)封裝了對(duì) age 成員的訪問,并且設(shè)定了 get 和 set 方法的規(guī)則,所以可以在外部使用。