欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

Java的繼承多態和封裝

張越彬1年前7瀏覽0評論

Java是一門面向對象的編程語言,具有繼承、多態和封裝等特性。

繼承

public class Animal {
private String name;
public Animal(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void eat() {
System.out.println(name + " is eating.");
}
}
public class Cat extends Animal {
public Cat(String name) {
super(name);
}
public void mew() {
System.out.println(getName() + " is mewing.");
}
}
public static void main(String[] args) {
Cat cat = new Cat("Tom");
cat.eat(); // Tom is eating.
cat.mew(); // Tom is mewing.
}

繼承可以讓子類繼承父類的屬性和方法。子類可以添加新的屬性和方法,也可以重寫父類的方法。在上述代碼中,Cat類繼承了Animal類,重寫了eat方法,添加了mew方法。

多態

public class Animal {
public void move() {
System.out.println("Animal is moving.");
}
}
public class Cat extends Animal {
public void move() {
System.out.println("Cat is moving.");
}
}
public class Dog extends Animal {
public void move() {
System.out.println("Dog is moving.");
}
}
public static void main(String[] args) {
Animal animal1 = new Animal();
Animal animal2 = new Cat();
Animal animal3 = new Dog();
animal1.move(); // Animal is moving.
animal2.move(); // Cat is moving.
animal3.move(); // Dog is moving.
}

多態可以讓不同的對象調用相同的方法產生不同的結果。在上述代碼中,三個Animal類型的對象animal1、animal2、animal3分別指向了Animal、Cat、Dog類的實例,調用相同的move方法產生了不同的輸出結果。

封裝

public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
public static void main(String[] args) {
Person person = new Person("Tom", 20);
System.out.println(person.getName()); // Tom
System.out.println(person.getAge()); // 20
}

封裝可以保護程序中的數據,只有通過特定的方法才能訪問或修改這些數據。在上述代碼中,Person類的name和age屬性被聲明為private,只能通過getName和getAge方法獲取數據,不能直接訪問或修改。