Java调用方法非/静态和私有/公共

时间:2014-10-27 15:45:22

标签: java call

我只是有一些方法调用我不确定的场景,并希望有人可以帮我清除一些。

a)如果我在SalesMethod班级,我想从区域方法调用销售方法,我该怎么做? (private方法调用public方法)

b)销售电话购买怎么样? (public在同一个班级内调用public

c)如果我在SalesMethod,那么调用futureSales方法的方法是什么?我是否必须为它创建一个实例,因为它是非静态的?

提前致谢。

public class SalesMethod
{
  public static double sales ()
  {
    code
  }
  private static void region ()
  {
    code
  }
  public static double purchase ()
  {
    code
  }
  public void futureSales ()
  {
    code
  }
}

2 个答案:

答案 0 :(得分:1)

a)调用公共方法的私有方法是可以的,因为公开意味着“从任何地方都可见”。

 public static double region()
 {
       sales();
 }

b)公共方法调用公共方法是出于同样的原因。

b')如果私有方法与公共方法属于同一个类,则公共方法调用私有方法是可以的。

c)要调用非静态方法,您必须创建一个实例,因为您将其称为“on”对象。您无法像上面的示例中那样通过静态方法调用它。

静态意味着“相对于一个阶级” 非静态相对于对象,您可以将其视为对象执行的操作。

答案 1 :(得分:0)

  

如果我在SalesMethod类中,并且我想从region方法调用sales方法,我该怎么做? (私有方法调用公共方法)

它们都是静态的,因此您可以在每次需要时调用它们。

sales();
// Or
SalesMethod.sales();

  

销售电话购买怎么样? (在同一班级内公开呼叫公众)

它们都是静态的,因此您可以在每次需要时调用它们。

purchase();
// Or
SalesMethod.purchase();

  

如果我在SalesMethod中,那么调用futureSales方法的方法是什么?我是否必须为它创建一个实例,因为它是非静态的?

SalesMethod instance = new SalesMethod();
instance.futureSales();