Java中super关键字和extends的比较
简介
在Java中,我们经常会遇到需要扩展或继承已有的类的情况。其中,关键字extends
用于创建一个类的子类,而关键字super
用于引用父类的成员。本文将详细介绍super
关键字和extends
关键字的使用方法和区别。
流程图
下面是一个简单的流程图,展示了使用super
关键字和extends
关键字的一般步骤:
journey
title Java中super关键字和extends的比较
section 使用extends关键字
开始 --> 定义子类 --> 继承父类 --> 子类重写父类方法 --> 结束
section 使用super关键字
开始 --> 定义子类 --> 子类调用父类方法 --> 结束
使用extends关键字
当我们想要创建一个类的子类时,可以使用extends
关键字。下面是使用extends
关键字的步骤:
- 首先,定义一个子类,使用
extends
关键字指定它的父类。
// 定义子类
public class SubClass extends SuperClass {
// 子类的成员和方法
}
- 子类继承父类,子类将拥有父类的属性和方法。
// 继承父类
public class SubClass extends SuperClass {
// 子类的成员和方法
}
- 子类可以选择性地重写父类的方法,以实现子类自己的逻辑。
// 子类重写父类方法
public class SubClass extends SuperClass {
@Override
public void someMethod() {
// 子类自定义的逻辑
super.someMethod(); // 调用父类方法
}
}
使用super关键字
当子类想要调用父类的方法或属性时,可以使用super
关键字。下面是使用super
关键字的步骤:
- 首先,定义一个子类。
// 定义子类
public class SubClass {
// 子类的成员和方法
}
- 子类中可以使用
super
关键字调用父类的方法。
// 子类调用父类方法
public class SubClass {
public void someMethod() {
super.someMethod(); // 调用父类方法
// 子类自己的逻辑
}
}
代码示例
下面是一个完整的代码示例,演示了如何使用super
关键字和extends
关键字:
// 定义父类
public class SuperClass {
public void someMethod() {
System.out.println("父类方法");
}
}
// 定义子类
public class SubClass extends SuperClass {
@Override
public void someMethod() {
super.someMethod(); // 调用父类方法
System.out.println("子类方法");
}
}
// 使用子类
public class Main {
public static void main(String[] args) {
SubClass subClass = new SubClass();
subClass.someMethod();
}
}
上述代码中,SuperClass
是父类,SubClass
是子类。子类SubClass
继承了父类SuperClass
,并重写了父类的方法someMethod()
。在Main
类中,我们实例化了子类SubClass
的对象,并调用了它的方法。
运行上述代码,输出将会是:
父类方法
子类方法
总结
在Java中,使用extends
关键字可以创建一个类的子类,子类将继承父类的属性和方法。使用super
关键字可以在子类中调用父类的方法或属性。这两个关键字的使用非常常见,对于理解和使用继承是非常重要的。
本文介绍了super
关键字和extends
关键字的使用方法和区别,并提供了代码示例来演示它们的实际用法。希望本文