gpt4 book ai didi

java - 如何制作只能通过接口(interface)访问的类?

转载 作者:行者123 更新时间:2023-12-01 18:26:52 25 4
gpt4 key购买 nike

在 C# 或 Java 中,如何创建一个只能使用其实现的接口(interface)实例化的类?

很抱歉,如果之前有人问过这个问题。

编辑:抱歉让您感到困惑,这个问题只是出于好奇而问的:

例如我有:

interface iA
{
int addNum();
}

interface iB
{
int minusNum();
}

class A implements iA, iB
{
private int A;
public int addNum()
{
A += 10;
return A;
}

public int minusNum()
{
A -= 10;
return A;
}
}

class TestIface
{
public static void main(String args[]) {
A testA = new A();
iA testiA = new A();
iB testiB = new A();

testA.minusNum(); // No error, it has access to both methods
testA.addNum();

testiA.minusNum();//ERROR
testiA.addNum();

testiB.minusNum();
testiB.addNum();//ERROR
}
}

我想知道是否有一种方法可以阻止开发人员只创建 testA 并访问这两个方法。

最佳答案

如何将构造函数设为私有(private)?

class A implements iA
{
public int returnNum()
{
return 10;
}
private A(){}

public static iA getInstance(){
return new A();
}

}

关于java - 如何制作只能通过接口(interface)访问的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25825028/

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