gpt4 book ai didi

java - 我需要为内部类创建一个接口(interface)吗?

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

我刚刚学习接口(interface)及其在java中的意义,是否有必要为内部类创建一个接口(interface),例如我下面创建的程序?这个类的目的只是成为政府的模糊原型(prototype)以及它如何以最简单的形式运作。我创建了几种添加法律、参议员和国 session 员的方法。这段代码是否适合我想要实现的目标?

public class usaGov
{

private int sizeOfSenate = 105;
private int sizeOfCongress = 308;
private int amtOfLaws = 0;
private int law = 0;

void addSenateMember(int numberOfSenators)
{
sizeOfSenate = sizeOfSenate + numberOfSenators;
}

void addCongressMember(int numberOfCongressMembers)
{
sizeOfCongress = sizeOfCongress + numberOfCongressMembers;
}

void removeSenateMember(int numberOfSenators)
{
sizeOfSenate = sizeOfSenate - numberOfSenators;
}

void removeCongressMember (int numberOfCongressMembers)
{
sizeOfCongress = sizeOfCongress - numberOfCongressMembers;
}

void passLaw()
{
if (law == 3)
{
amtOfLaws++;
}

}

private class Senate
{
void senateYes()
{
int yes = 1;
law = law + yes;
}
void senateNo()
{
int no = -1;
law = law + no;
}

}
private class Congress
{
void congressYes()
{
int yes = 1;
law = law + yes;
}
void congressNo()
{
int no = -1;
law = law + no;
}
}
private class President
{
void presidentYes()
{
int yes = 1;
law = law + yes;
}
void presidentNo()
{
int no = -1;
law = law + no;
}
}


}

这是我的界面:

public interface americanGov
{
void addSenateMember(int numberOfSenators);

void addCongressMember(int numberOfCongressMembers);

void removeSenateMember(int numberOfSenators);

void removeCongressMember (int numberOfCongressMembers);
}

最佳答案

当您在某些时候想要获得多重继承时,您只需要使用接口(interface):

在Java中,一个类只能扩展另一个类,但它可以实现多个接口(interface)。

接口(interface)的任何其他使用都是最佳实践和代码设计。

经验法则是:如果某人(包括您自己)在将来的某个时候可能想要编写同一事物的替代嵌入式实现,请使用接口(interface)

内部类通常不属于此类,除非您知道同一事物将有多个内部实现。所以在这里使用接口(interface)可能有点过头了。

关于java - 我需要为内部类创建一个接口(interface)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13429625/

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