请问,在类A中 add 一个类B的对象, 类B是接口的实现,如何在类B中读取 类A中的属性?

corn8888 2012-08-21 04:35:04
我用传引用的方式,但是传不过来

class A
{
B b = new B();
add*(b);
}


class B implement ...
{
A a = null; //提示错误
B(A a) //提示错误
{
}
}
...全文
182 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
softroad 2012-10-30
  • 打赏
  • 举报
回复
来晚了。。。
Acesidonu 2012-08-31
  • 打赏
  • 举报
回复
已经解决了
MiceRice 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
虽然现在问题解决了,我还想知道除了引用还有没有其它的方法?
[/Quote]

把自身传递进去,是标准的做法:
public class B {
private A obj;
public B(A a) {
this.obj = a;
}
public doSomeThing() {
System.out.println(a.xxoo);
}
}

那么构造时可以:
private B b = new B(this);



另外也可以通过set方法将A对象设置进去。
corn8888 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

估计是没有导入A类所在的包
[/Quote]

各位不好意思,可能是没有正确导入包,

虽然现在问题解决了,我还想知道除了引用还有没有其它的方法?
corn8888 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

估计是没有导入A类所在的包
[/Quote]

类A在src目录,类B在包pac中
corn8888 2012-08-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]

Java code

// 代码帮你大概看了下,猜你的目的是这样的吧
class A {
B b = new B();
add(b); // 这个方法不知道在哪里
}

class B {

A a = null;

public B() {
}

public B(……
[/Quote]

我知道add 方法

我想在类B中,能读取类A中的变量
孤雨 2012-08-21
  • 打赏
  • 举报
回复
估计是没有导入A类所在的包
LucEaspe 2012-08-21
  • 打赏
  • 举报
回复

// 代码帮你大概看了下,猜你的目的是这样的吧
class A {
B b = new B();
add(b); // 这个方法不知道在哪里
}

class B {

A a = null;

public B() {
}

public B(A a) {

}
}
hepeng_8 2012-08-21
  • 打赏
  • 举报
回复
代码完全一点,没看懂楼主想要实现什么呢。
sdojqy1122 2012-08-21
  • 打赏
  • 举报
回复
没看懂啊~~楼主讲详细点?
corn8888 2012-08-21
  • 打赏
  • 举报
回复
不行啊,Intellij IDEA 提示错误
cscript 2012-08-21
  • 打赏
  • 举报
回复
看下是否正确导入A类
lost_guy_in_scut 2012-08-21
  • 打赏
  • 举报
回复
把A当做一个对象放进去不行吗?
就是说B有个属性是A a;

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧