Java是一門面向?qū)ο蟮木幊陶Z言,其中最基本的概念就是類。在Java中,子類和內(nèi)部類是兩個比較基本的概念。雖然它們都是與類有關(guān),但是它們之間還是存在一些不同的地方。
首先,讓我們了解一下Java中的子類。子類是一種由已有類派生出來的類,也稱為派生類或者繼承類。子類擁有父類的所有非私有成員變量和方法,并且可以添加新的成員變量和方法。在Java中,使用關(guān)鍵字“extends”來聲明一個類是另一個類的子類。例如:
public class Animal { public void eat() { System.out.println("Animal is eating."); } } public class Cat extends Animal { public void meow() { System.out.println("Cat is meowing."); }
在上述代碼中,Cat是Animal的子類,它繼承了父類Animal的eat方法,并新增了一個meow方法。
另一方面,Java中的內(nèi)部類是定義在另一個類內(nèi)部的類。內(nèi)部類可以訪問外部類的所有成員變量和方法,包括private成員。Java中定義內(nèi)部類的語法是:
public class OuterClass { private int x = 10; class InnerClass { public void printX() { System.out.println("x is " + x); } } }
在上述代碼中,InnerClass是OuterClass的內(nèi)部類,它可以訪問OuterClass的私有成員變量x。
總的來說,子類和內(nèi)部類都是Java中類的概念。子類是一種新的類,它繼承了父類的全部或部分內(nèi)容;內(nèi)部類是一個定義在另一個類內(nèi)部的類,它可以訪問外部類的所有成員變量和方法。這些差異使得Java編程更加靈活。