是的,超类引用变量实际上可以保存子类对象,在对象的情况下,这是扩展(将较低数据类型转换为较高数据类型)。但是,使用此引用,您只能访问超类的成员,如果您尝试访问子类成员,则会生成编译时错误。示例在下面的 Java 示例中,我们有两个类,即 Person 和 Student。Person 类有两个实例变量 name 和 age,以及一个实例方法 displayPerson(),它显示 name 和 age。Student 扩展了 Person 类,除了继承的…… 阅读更多
Java 中的接口类似于类,但它只包含抽象方法和字段,这些字段是 final 和 static 的。从 Java8 开始,在接口中引入了静态方法和默认方法。默认方法 - 与其他抽象方法不同,这些方法可以具有默认实现。如果接口中存在默认方法,则不需要在已经实现此接口的类中覆盖(提供方法体)它。简而言之,您可以使用实现类的对象访问接口的默认方法。示例interface MyInterface{ public static int num = 100; public default void ... 阅读更多
继承是两个类之间的关系,其中一个类继承另一个类的属性。可以使用 extends 关键字定义此关系,如下所示:public class A extends B{ } 继承属性的类称为子类或子类,继承其属性的类称为超类或父类。在继承中,超类成员的副本在子类对象中创建。因此,使用子类对象,您可以访问这两个类的成员。示例class Super{ int a =100; int b = 200; public void ... 阅读更多
从 Java8 开始,在接口中引入了默认方法。与其他抽象方法不同,这些方法可以具有默认实现。如果接口中存在默认方法,则不需要在已经实现此接口的类中覆盖(提供方法体)它。简而言之,您可以使用实现类的对象访问接口的默认方法。示例interface MyInterface{ public static int num = 100; public default void display() { System.out.println("MyInterface 的 display 方法"); } } public class InterfaceExample implements MyInterface{ public static void main(String ... 阅读更多
继承是两个类之间的关系,其中一个类继承另一个类的属性。可以使用 extends 关键字定义此关系,如下所示:public class A extends B{ } 继承属性的类称为子类或子类,继承其属性的类称为超类或父类。在继承中,超类成员的副本在子类对象中创建。因此,使用子类对象,您可以访问这两个类的成员。多继承有各种类型的继承,例如单一继承、多层继承、层次继承、多…… 阅读更多
Java 中的接口类似于类,但它只包含抽象方法和字段,这些字段是 final 和 static 的。就像类一样,您可以使用 extends 关键字从另一个接口扩展一个接口,如下所示:interface ArithmeticCalculations{ public abstract int addition(int a, int b); public abstract int subtraction(int a, int b); } interface MathCalculations extends ArithmeticCalculations{ public abstract double squareRoot(int a); public abstract double powerOf(int a, int b); } 但是,当您实现子类时,您需要为这两个接口中的抽象方法提供方法体。示例在下面的示例中,我们创建了两个接口…… 阅读更多