java方法可以出类

时间:2012-09-01 09:12:18

标签: java

我在家庭作业上有这个问题:

  

班级foo()中定义的方法Quiz具有以下签名:public static double foo(double f)。您对foo()有什么看法?

     
      
  1. 这是一种课堂方法

  2.   
  3. 这是一个实例变量

  4.   
  5. 这是一个实例方法

  6.   
  7. 这是一个类属性

  8.   

我认为它是一个类方法,因为在类中声明了foo()。答案是否像我想的那样直截了当?

5 个答案:

答案 0 :(得分:3)

答案是它的class method

使用static声明的字段或方法始终是该类的属性或行为。

Non-static变量每个对象一个,其中static variables 一个 类

static方法Non-static变量或方法访问

可以使用带有static(点)运算符的Class_Name调用

"."个方法和变量。

虽然如果class 拥有private constructor Math类有私人构造函数),那么你也可以创建一个实例来调用静态方法或变量,但不是合法的方法。

您还应该记住,您可以使用<{1}}所在的{strong> null参考 致电 static methods or variables ....是的,它有效......

答案 1 :(得分:1)

嗯,你在那里... ...

在java中,你有 Instace方法类方法

实例方法是绑定到类实例的方法:

class InstanceTest {
    public void instanceMethod() { }
}
(...)
InstanceTest it = new InstanceTest();
it.instanceMethod();

要调用此方法,您必须设置此类并调用它。

可以直接在类上调用 static 修饰符标识的Class方法:

class ClassTest {
    public static void instanceMethod() { }
}
(...)
ClassTest.classMethod();

对于变量,'rule'也是一样的,你可以有实例和类变量。

您可以详细了解实例与班级成员here

答案 2 :(得分:0)

这是一个类方法,但不是因为它在类中声明,而是因为它是static,因此它不使用它们所定义的类的任何对象的实例变量。

答案 3 :(得分:0)

这是一种类方法,因为使用了static关键字,这意味着您不需要该类的实例来调用它。

你称之为:

Quiz.foo(2.5);

相反,如果它是一个实例方法(没有static关键字),则需要在调用方法之前实例化

Quiz q = new Quiz();
q.foo(2.5);

答案 4 :(得分:0)

它是一个类方法,因为它是静态方法。它属于类而不属于对象(实例)。

静态方法只能访问静态变量。原因很明显。类中常见的东西不能引用特定于对象的东西。