gpt4 book ai didi

java - 如何从另一个类方法调用已创建对象的方法?

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

我正在尝试一个小程序,其中有两个带有重载构造函数的类。首先,我创建一个第一个类的对象,并将一个整数传递给它的构造函数。然后我创建第二个类的对象,并将字符串传递给它的构造函数。

Bblabla 类包含一个 run() 方法,该方法应调用已在 main 方法中创建的 Bloblo 对象 t 的方法 afficher 。但是,我在执行此操作时遇到了麻烦,因为构造函数已重载,我应该传递一些参数。并且 Blabla 对象 ts 不知道最初传递给 Bloblo 构造函数的值:2345

这是一个例子,以便我清楚地表达自己:

public class Trial {

public static void main(String[] args) {

Bloblo t = new Bloblo(2345);
Blabla ts = new Blabla("Imad");
ts.run();
}
}

public class Bloblo {
private int port;
public Bloblo(int leport)
{
port = leport;
System.out.println("au debut le port est: " + port);
}
public void afficher(String nom)
{
System.out.println("on va afficher dans BLOBLO: " + nom + "\net le port est: "+ port);

}
}

public class Blabla implements Runnable{

String Name = "";

public Blabla(String nom)
{
Name = nom;
}

public void run()
{
System.out.println("voici le nom: " + Name);
Bloblo obj = new Bloblo();
obj.afficher(Name);
}
}

这里的想法是我无法创建实例 obj,因为我必须提供端口作为参数,但我不知道它是什么端口。

最佳答案

您应该将对 BloBlo 的引用传递到 BlaBla 构造函数中并将其存储在字段中。

public class Trial {

public static void main(String[] args) {

Bloblo t = new Bloblo(2345);
Blabla ts = new Blabla("Imad", t);
ts.run();
}
}

public class Bloblo {
private int port;
public Bloblo(int leport)
{
port = leport;
System.out.println("au debut le port est: " + port);
}
public void afficher(String nom)
{
System.out.println("on va afficher dans BLOBLO: " + nom + "\net le port est: "+ port);

}
}

public class Blabla implements Runnable{

String Name = "";
Bloblo bloblo;
public Blabla(String nom, Bloblo b)
{
Name = nom;
bloblo = b;
}

public void run()
{
System.out.println("voici le nom: " + Name);

bloblo.afficher(Name);
}
}

关于java - 如何从另一个类方法调用已创建对象的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37336978/

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