gpt4 book ai didi

java - 使用对象来访问类变量和方法

转载 作者:行者123 更新时间:2023-12-01 17:31:03 27 4
gpt4 key购买 nike

在我发布的问题中,我想知道为了访问 setused()方法我创建一个名为 obj1 的对象类 alpha 的数组类型。但如果我想从 beta 类访问相同的方法,那么我就必须创建另一个对象。但是有什么方法可以让我使用同一个对象,即。 obj1数组类型来访问setused()方法

import javax.swing.JOptionPane;
public class first()
{
public void main(String args[])
{
alpha[] obj1=new alpha[5];
for(int i-0;i<5;i++)
obj1[i].setused(int 1);
}
}

class alpha
{
private int un_used=5;
private int used=0

public int getun_used()
{
return un_used;
}

public int getused()
{
return used;
}

public void setused(int use)
{
used= use;
}
}

class beta
{
private String name;
}

最佳答案

首先你的代码会抛出 NullPointerException因为创建给定大小的对象数组并不意味着您要创建那么多对象。该数组仅包含 null s。

其次是你的alphabeta类不共享任何方法,没有setused() beta中的方法。从现在开始我假设有:

class beta
{
private String name;

public void setused(int use) { //...
}

}

如果您想使用相同的引用来访问两个类的该方法,最简洁的方法是使用 :

interface Used {

void setused(int use);

}

abstract基类也可以。然后实现该接口(interface):

class alpha implements Used { //...
class beta implements Used { //...

现在创建一个 Used 的数组类型:

 Used[] obj1=new Used[5];
obj1[0] = new alpha();
obj1[1] = new beta();
//...
for(int i-0;i<5;i++)
obj1[i].setused(1);

终于读到了Java naming conventions .

关于java - 使用对象来访问类变量和方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10870718/

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