关于对象的迷惑!

guaigm 2004-10-11 09:32:33

//我发现这样使用不行啊!
public class classA
{
public classB newClassB = new classB();
//实例例化某个对象;
public void methodOne
{
newClassB.methodName();//随便调用着各类里面的方法
}
public void methodTwo
{
newClassB.methodName();//随便调用着各类里面的方法
}


}







//但这样可以阿
public class classA
{

public void methodOne
{
public classB newClassB = new classB();
//实例例化某个对象;
newClassB.methodName();//随便调用着各类里面的方法
}
public void methodTwo
{
public classB newClassB = new classB();
//实例例化某个对象;
newClassB.methodName();//随便调用着各类里面的方法
}

//我发现这样使用不行啊!
}
...全文
106 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ipv 2004-10-11
  • 打赏
  • 举报
回复
不可能不成
代码不会错的
错的永远是人
估计大小写搞错了?
nwpulipeng 2004-10-11
  • 打赏
  • 举报
回复
帮顶混分
zhaoqiubo 2004-10-11
  • 打赏
  • 举报
回复
public class A {
public A() {
}
public void mothodA()
{
};
public void mothodB()
{
};
}
---------------
public class B {

public A a = new A();
public void mothodA(){
a.mothodA();
}
public void mothodB(){
a.mothodB();
}
}

这是我写的,没有问题呀..
wumingwangzi 2004-10-11
  • 打赏
  • 举报
回复
把你源码贴一下吧
xjtufans 2004-10-11
  • 打赏
  • 举报
回复
public class ClassA
{

public ClassB classb = new ClassB();

public ClassA()
{
System.out.println("A Construct");
}

public void methodA()
{
System.out.println("A methodA");
classb.methodA();
}

public void methodB()
{
System.out.println("A methodB");
classb.methodB();
}


public static void main(String[] args)
{
ClassA a = new ClassA();
a.methodA();
a.methodB();
}
}

class ClassB
{
public ClassB()
{
System.out.println("B Construct");
}


public void methodA()
{
System.out.println("B methodA");
}

public void methodB()
{
System.out.println("B methodB");
}
}
-----------------------------------
上面是我写的。没有见有任何问题。
问题的原因应该是你的classB的问题。
sunny518 2004-10-11
  • 打赏
  • 举报
回复
应该是classB定义错误
xjtufans 2004-10-11
  • 打赏
  • 举报
回复
呵呵。楼主的问题不可能发生啊。
可能是classB写的有问题。
zhaoqiubo 2004-10-11
  • 打赏
  • 举报
回复
不应该有错误,第一种方法和第二种方法有区别,但第一种是合理的.你把错误信息和classB源码贴出来看看..........
guaigm 2004-10-11
  • 打赏
  • 举报
回复
不好意思我写错了!我的本意是


//我发现这样使用不行啊!
public class classA
{
public classB newClassB = new classB();
//实例例化某个对象;
public void methodOne()
{
newClassB.methodName();//随便调用着各类里面的方法
}
public void methodTwo()
{
newClassB.methodName();//随便调用着各类里面的方法
}


}







//但这样可以阿
public class classA
{

public void methodOne()
{
classB newClassB = new classB();
//实例例化某个对象;
newClassB.methodName();//随便调用着各类里面的方法
}
public void methodTwo()
{
classB newClassB = new classB();
//实例例化某个对象;
newClassB.methodName();//随便调用着各类里面的方法
}
}





为什么我编译第一种写法的时候总体是我类有问题呢!?

而第二种就可以啊为什么啊
funcreal 2004-10-11
  • 打赏
  • 举报
回复
methodOne的后面不加括号可以吗?
public void methodOne()//这里不加括号马?
{
newClassB.methodName();//随便调用着各类里面的方法
}
UTF888 2004-10-11
  • 打赏
  • 举报
回复
你在类里面实例化一个对象,可以是public 也可以是private 等等。
但你一旦在方法里实例化一个对象,如:
public void methodOne {
public classB newClassB = new classB();
newClassB.methodName();
}

那么只能用final ,如例你用public 是不正确的.把public去掉就可以了。

81,122

社区成员

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

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