什么是“方法对象”和“类对象”?

时间:2012-04-13 07:31:11

标签: object methods

我正在阅读oracle docs。

  

'当线程调用synchronized方法时,它会自动获取该方法对象的内部锁,并在方法返回时释放它。'

这里他们提到了“方法”的对象。

Method的对象究竟是什么?

现在他们提到与clas相关的对象

  

'线程获取与类关联的Class对象的内部锁。'

那么什么是与类关联的Class对象?

他们之间有什么区别?

4 个答案:

答案 0 :(得分:1)

我认为方法的对象是非静态的方法,也就是说,特定于实例的方法。

虽然类方法是在类中声明的静态方法。取决于可以像全局函数的语言

MyClass myInstance = new MyClass();

// Method's object:
// Specific to the instance and won't be called by separate threads at he same time for myInstance, but can be called on another instance of MyClass
myInstance.method();

// Class method:
// Is at the class level, won't be called by separate threads at the same time at all.
MyClass.myStaticMethod();

答案 1 :(得分:0)

Class只是用户的自定义数据类型,表示一些方法和变量。

Object是该类的实例变量,就像蓝图一样。

还有Class方法和Object方法。

您将对象方法发送到该类的特定实例,并将Class方法发送到该类。

例如,您有Class Car。它只描述了汽车的构造方式以及它可以做什么。然后,它可能有方法Create a new car。因此,你所拥有的物品比梅赛德斯和奥迪少。而且这个对象可以响应驱动和停止的方法。它有意义吗?

答案 2 :(得分:0)

对象是可以操作或访问的实例化实体。

答案 3 :(得分:0)

方法的对象,是当前正在使用该方法的对象。

Class Object是类层次结构的根。 每个类都有Object作为超类。(不要对此感到困惑) 所有对象(包括数组)都实现此类的方法。