JAVA中 成员方法必须通过对象的引用去调用吗?

来源:百度知道 编辑:UC知道 时间:2024/06/03 22:31:38
class a
{
int a;
void b()
{ new a().d();//如这里必须象这样调用吗?
int c = a+3;
System.out.println(c);
}
public static void main(String[] args ){
new a().b();
}
void d()
{
a = 1;
System.out.println(a);
}
}
其实我也知道一个类中的成员方法可以相互的直接调用,但是我想知道的是一个类中的成员方法之间的调用是直接调用还是通过new一个对象去调用,他们有什么区别。还有就是静态的方法用类名直接去调用是怎么回事呢?比如说类名为A 它有个静态方法b();在mian()方法中是怎么调用的呢?谢谢

把方法写成静态的。static。

类中的成员方法可以直接调用<除了类中静态的方法不能调用类中非静态的方法和成员>。静态的方法是属于整个类的,不属于某个对象,这个可以从存储空间上进行分析,静态的方法是在类的对象创建之前就进行初始化分配了空间。在main方法中对静态方法b()的调用使用A.b();

不一定,有3种情况可以不通过对象的引用去调用其方法:
1.该类的匿名类和内部内可以直接调用其方法,不用持有该类的引用
2.把要调用的方法声明为static,可以再其它类中直接使用该类名调用
3.在该类中,可以直接调用

在同一类中 可以不用创建对象 直接调用 在其他类中要创建对象来调用

或者定义成static的 可以直接用类名来调用