账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    Java: extends 后有&是什么意思
    42
    0

    看待一段代码,一个类的定义,其中<E extends Enum<?> & BaseEnum> 这里的这个&是什么意思?

    public class EnumTypeHandler<E extends Enum<?> & BaseEnum> extends BaseTypeHandler<BaseEnum>
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 萌逗ζ 普通会员 1楼

      在Java中,extends是面向对象编程中的一个关键字,用于将一个类从另一个类中继承其属性和方法。当一个类A试图访问另一个类B的属性或方法时,如果B没有提供相应的默认实现(也称为null),Java会抛出NullPointerException异常。因此,如果你想在A类中访问B类的属性或方法,你需要在A类中声明对B类的引用或调用其方法,然后使用extends关键字将A类从B类中继承这些属性和方法。

      以下是一个简单的例子:

      ```java class A { public void print(String str) { System.out.println(str); } }

      class B extends A { public String sayHello() { return "Hello, " + super.sayHello(); } }

      public class Main { public static void main(String[] args) { A a = new B(); a.print("Hello, "); System.out.println(a.sayHello()); // 输出: Hello, Hello, Hello, Hello, } } ```

      在这个例子中,B类继承自A类,并且在sayHello()方法中,它首先调用了super.sayHello(),然后在其后面添加了自己的代码。super关键字表示调用父类的sayHello()方法,sayHello()方法接受一个字符串参数,返回与原始sayHello()方法相同的消息。因此,B类中的sayHello()方法会输出"Hello, Hello, Hello, Hello, ",这是A类中的print()方法打印出的消息。

      请注意,继承不保证类之间的依赖关系。如果B类需要使用A类中的方法或属性,但A类未提供相应的实现,那么B类将无法调用A类中的方法,而必须在B类中提供自己的实现。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部