Java中的继承类型以及示例
先决条件:继承及其在Java中的实现
Java中的继承类型
在Java编程中,有以下几种类型的继承,
单继承
多重继承(通过接口)
多级继承
层次继承
1)单一继承
如果一个类扩展了另一个类(即唯一一个类)。
语法:
class Parent {//字段和方法
}
class Child extends Parent {
//字段和方法
}
单一继承的示例:
/*Java program to demonstrate theconcept of inheritance */
//家长班
class Parent {
//Parent类有一种方法
// displayParentMessage()打印父类消息的方法
public void displayParentMessage() {
System.out.println("Hello, we are in parent class method");
}
}
//子类或派生类
class Child extends Parent {
//Child子类添加了另一种方法
// displayChildMessage()打印父类消息的方法
public void displayChildMessage() {
System.out.println("Hello, we are in child class method");
}
}
//我们将在该类的主类中创建
//父子类的对象
class Main {
public static void main(String[] args) {
//创建父类对象
Parent p = new Parent();
//通过父类对象调用父类方法
p.displayParentMessage();
//创建Child类对象
Child c = new Child();
//通过子类对象调用子类方法
c.displayChildMessage();
//通过子类对象调用父类方法
c.displayParentMessage();
}
}
输出结果
D:\Programs>javac Main.javaD:\Programs>java Main
Hello, we are in parent class method
Hello, we are in child class method
Hello, we are in parent class method
2)多重继承(通过接口)
如果我们扩展多个类。Java不直接支持多重继承,但是借助我们可以实现的接口的帮助,它类似于多重继承。
语法:
interface interface1 {//字段和方法声明
}
interface interface2 {
//字段和方法声明
}
Class class_name implements interface1, interface2 {}
多重继承的例子:
/*Java program to demonstrate theconcept of multiple inheritance */
interface Print {
void print();
}
interface Show {
void show();
}
class Main implements Print, Show {
public void print() {
System.out.println("Hello");
}
public void show() {
System.out.println("World");
}
public static void main(String args[]) {
Main obj = new Main();
obj.print();
obj.show();
}
}
输出结果
D:\Programs>javac Main.javaD:\Programs>java Main
Hello
World
3)多级继承
如果将classA扩展为classB,将classB扩展为classC,则称为多级继承。
语法:
class classA {//字段和方法
}
class classB extends classA {
//字段和方法
}
class classC extends classB {
//字段和方法
}
多级继承的示例:
/*Java program to demonstrate theconcept of multilevel inheritance */
//ClassA---类
class ClassA {
//ClassA---类具有一种方法
// displayClassAMessage()打印ClassA类消息的方法
public void displayClassAMessage() {
System.out.println("Hello, we are in ClassA class method");
}
}
//ClassB类
class ClassB extends ClassA {
//ClassB类添加了另一种方法
// displayClassBMessage()打印ClassB类消息的方法
public void displayClassBMessage() {
System.out.println("Hello, we are in ClassB class method");
}
}
//ClassC类
class ClassC extends ClassB {
//ClassC类添加了另一种方法
// displayClassCMessage()打印ClassC类消息的方法
public void displayClassCMessage() {
System.out.println("Hello, we are in ClassC class method");
}
}
//我们将在该类的主类中创建
//ClassA---和ClassB以及ClassC类的对象
class Main {
public static void main(String[] args) {
//创建ClassA类对象
ClassA ca = new ClassA();
//通过ClassA类对象调用ClassA类方法
ca.displayClassAMessage();
//创建ClassB类对象
ClassB cb = new ClassB();
//通过ClassB类对象调用ClassB类方法
cb.displayClassBMessage();
//通过ClassB类对象调用ClassA类方法
cb.displayClassAMessage();
//创建ClassC类对象
ClassC cc = new ClassC();
//通过ClassC类对象调用ClassC类方法
cc.displayClassCMessage();
//通过ClassC类对象调用ClassB类方法
cc.displayClassBMessage();
//通过ClassC类对象调用ClassA类方法
cc.displayClassAMessage();
}
}
输出结果
D:\Programs>javac Main.javaD:\Programs>java Main
Hello, we are in ClassA class method
Hello, we are in ClassB class method
Hello, we are in ClassA class method
Hello, we are in ClassC class method
Hello, we are in ClassB class method
Hello, we are in ClassA class method
4)层次继承
如果从基类继承多个类,则称为层次继承。
语法:
class classA {//字段和方法
}
class classB extends classA {
//字段和方法
}
class classC extends classA {
//字段和方法
}
层次继承的示例:
/*Java program to demonstrate theconcept of hierarchical inheritance */
//ClassA---
class ClassA {
//ClassA---类具有一种方法
// displayClassAMessage()打印ClassA类消息的方法
public void displayClassAMessage() {
System.out.println("Hello, we are in ClassA class method");
}
}
//ClassB类
class ClassB extends ClassA {
//ClassB类添加了另一种方法
// displayClassBMessage()打印ClassB类消息的方法
public void displayClassBMessage() {
System.out.println("Hello, we are in ClassB class method");
}
}
//ClassC类
class ClassC extends ClassA {
//ClassC类添加了另一种方法
// displayClassCMessage()打印ClassC类消息的方法
public void displayClassCMessage() {
System.out.println("Hello, we are in ClassC class method");
}
}
//我们将在该类的主类中创建
//ClassA---和ClassB以及ClassC类的对象
class Main {
public static void main(String[] args) {
//创建ClassA类对象
ClassA ca = new ClassA();
//通过ClassA类对象调用ClassA类方法
ca.displayClassAMessage();
//创建ClassB类对象
ClassB cb = new ClassB();
//通过ClassB类对象调用ClassB类方法
cb.displayClassBMessage();
//通过ClassB类对象调用ClassA类方法
cb.displayClassAMessage();
//创建ClassC类对象
ClassC cc = new ClassC();
//通过ClassC类对象调用ClassC类方法
cc.displayClassCMessage();
//通过ClassC类对象调用ClassA类方法
cc.displayClassAMessage();
}
}
输出结果
D:\Programs>javac Main1.javaD:\Programs>java Main1
Hello, we are in ClassA class method
Hello, we are in ClassB class method
Hello, we are in ClassA class method
Hello, we are in ClassC class method
Hello, we are in ClassA class method
以上是 Java中的继承类型以及示例 的全部内容, 来源链接: utcz.com/z/321536.html