本文將為您介紹 Java 基礎(chǔ)知識(shí)中,Java 繼承的概念以及繼承的使用方法等。
一、簡(jiǎn)介
什么是繼承?普遍認(rèn)知,如繼承手藝、繼承遺產(chǎn)等,從另外一個(gè)人身上獲得技藝或者財(cái)富。
在Java中,繼承是三大特性之一,是一種機(jī)制,表示為從子對(duì)象獲一個(gè)取父對(duì)象的所有屬性和行為。換個(gè)說(shuō)法就是,子類(lèi)繼承了父類(lèi)的所有東西,同時(shí)自己也可以有一些父類(lèi)所沒(méi)有的。
在Java中,要使用繼承,需要使用關(guān)鍵字 ?extends
?,具體語(yǔ)法如下:
class Subclass-name extends Superclass-name
{
//methods and fields
}
Java繼承的示例:
上圖中,?Employee
?是父類(lèi),?Programmer
?是子類(lèi)。表示?Programmer
?是?Employee
?的一個(gè)子類(lèi)型。具體代碼:
class Employee {
float salary = 48880;
}
class Programmer extends Employee {
int bonus = 10000;
public static void main(string args[]){
Programmer p = new Programmer();
System.out. println(""Programmer salary is:" + p.salary);
system.out. println("Bonus of Programmer is :” + p.bonus);
}
}
執(zhí)行結(jié)果:
Programmer salary is : 40000.0
Bonus of programmer is: 10000
從結(jié)果可以得到,子類(lèi)除了自身定義的屬性(bonus),還繼承了父類(lèi)的屬性(salary)。
二、Java繼承類(lèi)型
在 Java 中主要是三中類(lèi)型的繼承:?jiǎn)我?、多?jí)和分層。在 Java 編程中,僅能通過(guò)接口支持多重和混合繼承,想要了解該部分可以參考Java 基礎(chǔ)知識(shí)接口。
【注】在Java中只有接口接受多重繼承,而類(lèi)有且只能繼承一個(gè)。
(1)單一繼承
class Animal {
void eat(){
system.out.println("eating...");
}
}
class Dog extends Animal {
void bark() {
system.out println(""barking...")
}
}
class TestInheritance {
public static void main(string args[]){
Dog d = new Dog();
d.bark();
d.eat();
}
}
barking...
eating...
(2)多級(jí)繼承
class Animal{
void eat() {
System.out.printin("eating..."):
}
}
class Dog extends Animal{
void bark(){
System.out.printIn("barking..." );
}
}
class BabyDog extends Dog{
void weep(){
System.out.printin("weeping...");
}
}
class Testinheritance2{
public static void rain(String args[]){
BabyDog d = new BabyDog();
d.weep();
d.bark();
d.eat();
}
}
weeping...
barking...
eating...
(3)分層繼承
class Animal {
void eat(){
System.out.println("eating...";
}
}
class Dog extends Animal {
void bark(){
system.out.println("barking...")
}
}
class Cat extends Animal {
void meow() {
System.out-println( "meowing...");
}
}
class TestInheritance3 {
public static void main(string args[]){
cat c = new Cat();
c.meaw();
c.eat();
}
}
meowing...
eating...
三、總結(jié)
關(guān)于Java繼承的概念和Java中關(guān)于類(lèi)的繼承使用方法介紹就到此結(jié)束了,此外 Java 的繼承中關(guān)于多重繼承的內(nèi)容,是在接口內(nèi)容中。如果想要了解更多關(guān)于Java基礎(chǔ)知識(shí)的內(nèi)容,請(qǐng)關(guān)注 w3cschool。