public class A
{
private void sub()
{
add();
}
private void add()
{
-----
}
}
我可以在上面调用sub方法中的add方法,我可以像下面这样做
public class A
{
private void sub()
{
A obj_A = new A();
obj_A.add();
}
private void add()
{
-----
}
}
我想知道它们之间的区别。 谢谢。
答案 0 :(得分:4)
sub()
,您将获得1
方法范围内的A实例。sub()
,您将拥有
A方法范围的2个实例。答案 1 :(得分:2)
Java类有一个名为this
的特殊成员,它引用当前对象。
This answer会为您提供有关this
的详细信息。
答案 2 :(得分:1)
在第一种方法中,您调用同一个类实例的add
方法。在第二个示例中,您将创建该类的新实例并调用其add
方法。
例如:
public class A
{
private int num = 3;
private void sub()
{
num = 10;
add();
}
private void add()
{
system.out.println(num);
}
}
public class A
{
private int num = 3;
private void sub()
{
A obj_A = new A();
num = 10;
obj_A.add();
}
private void add()
{
system.out.println(num);
}
}
在第一个示例中,它将打印10.在第二个示例中,它将打印3.此操作系统,因为在第一个示例中,您打印的是您之前修改过的实例本身的num。在第二个示例中,您还修改了num值,但由于您要调用已创建的新类的添加,因此将打印3。
答案 3 :(得分:0)
private void sub()
{
add();
}
在调用add()
方法的同一对象上调用方法sub()
。
private void sub()
{
A obj_A = new A();
obj_A.add();
}
创建A类型的新对象并在其上调用add()
方法。
答案 4 :(得分:0)
通过第二种方法,要调用add方法,将创建两个对象,通过使用方法1,我们可以通过创建一个对象来访问add方法
答案 5 :(得分:0)
在第二种方法中,我们不必要地创建了对象。
第一个approch更好。