gpt4 book ai didi

Java接口(interface)方法

转载 作者:行者123 更新时间:2023-12-02 02:31:35 25 4
gpt4 key购买 nike

根据下面指定的代码,在 main 方法中不允许 b.fun2() ,我知道为什么它不起作用。我想知道如何解决此类问题。根据扎实的编程原则,我需要为我的问题编写一个接口(interface)。但这个问题阻止了我定义一个接口(interface)。

public interface A{
void fun();
}
public class B implements A{
void fun(){
// some code
}
}
public class C implements A{
void fun(){
// some code
}
void fun2(){
// some code
}
}
public class Main {
public static void main(String[] args){

A b = new C();
b.fun2();

}

}

最佳答案

这里的一般规则是:使用引用实现类对象的接口(interface)引用,您只能调用那些已被实现类覆盖的方法。

要使您的代码正常工作,请执行以下操作:

C c = new C();
c.fun2();
A b=c;

PS:这里的另一个问题是,默认情况下接口(interface)的所有成员都是公共(public)的。因此,当重写 B 类和 C 类中的 fun() 时,该方法的可见性会从 public 降低到默认级别;此操作在 Java 中无效。每当重写接口(interface)方法时,请使用 public 访问说明符。

关于Java接口(interface)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47012077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com