Java基础知识——继承
2021-07-14 10:35:44
浏览数 (2600)
本文将为您介绍 Java 基础知识中,Java 继承的概念以及继承的使用方法等。
一、简介
什么是继承?普遍认知,如继承手艺、继承遗产等,从另外一个人身上获得技艺或者财富。
在Java中,继承是三大特性之一,是一种机制,表示为从子对象获一个取父对象的所有属性和行为。换个说法就是,子类继承了父类的所有东西,同时自己也可以有一些父类所没有的。
在Java中,要使用继承,需要使用关键字 extends
,具体语法如下:
class Subclass-name extends Superclass-name
{
//methods and fields
}
Java继承的示例:
上图中,Employee
是父类,Programmer
是子类。表示Programmer
是Employee
的一个子类型。具体代码:
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);
}
}
执行结果:
Programmer salary is : 40000.0
Bonus of programmer is: 10000
从结果可以得到,子类除了自身定义的属性(bonus),还继承了父类的属性(salary)。
二、Java继承类型
在 Java 中主要是三中类型的继承:单一、多级和分层。在 Java 编程中,仅能通过接口支持多重和混合继承,想要了解该部分可以参考Java 基础知识接口。
【注】在Java中只有接口接受多重继承,而类有且只能继承一个。
(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)多级继承
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...
三、总结
关于Java继承的概念和Java中关于类的继承使用方法介绍就到此结束了,此外 Java 的继承中关于多重继承的内容,是在接口内容中。如果想要了解更多关于Java基础知识的内容,请关注 w3cschool。