Java是一個(gè)面向?qū)ο蟮木幊陶Z(yǔ)言,一個(gè)很重要的特性就是它支持抽象和封裝。下面我們?cè)敿?xì)介紹這兩種特性在Java中的實(shí)現(xiàn)方式。
一、抽象
// 抽象類(lèi) public abstract class Animal { public abstract void run(); } // 子類(lèi)繼承抽象類(lèi) public class Dog extends Animal { @Override public void run() { System.out.println("狗跑起來(lái)咯~~~"); } }
Java中的抽象可以通過(guò)定義抽象類(lèi)和方法來(lái)實(shí)現(xiàn)。抽象類(lèi)不能被實(shí)例化,只能被子類(lèi)繼承,并實(shí)現(xiàn)其中的抽象方法。子類(lèi)必須實(shí)現(xiàn)所有的抽象方法才能被實(shí)例化。
二、封裝
// 封裝成員變量和方法 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; } } // 封裝繼承和多態(tài) public class Animal { private String name; public Animal(String name) { this.name = name; } public void move() { System.out.println(name + "移動(dòng)了一下"); } } public class Dog extends Animal { public Dog(String name) { super(name); } // 重寫(xiě)父類(lèi)方法 @Override public void move() { System.out.println("狗跳躍著移動(dòng)"); } }
Java中的封裝可以通過(guò)private訪問(wèn)修飾符來(lái)實(shí)現(xiàn),用于封裝成員變量和方法,使其不能被外部訪問(wèn)。另外,Java也支持繼承和多態(tài),通過(guò)覆寫(xiě)父類(lèi)的方法來(lái)實(shí)現(xiàn)不同的業(yè)務(wù)邏輯。