拥有以下代码:
class X
{
public void Y(){}
}
X _x=new X();
_x.Y(); //should I say Y is method of _x variable? It is easy but actually the variable contains just reference to object that has this method
X newX=x; //here I assign the value of variable x to variable newX. The value is reference
答案 0 :(得分:1)
Y
是在X
引用的类X
的实例上调用的类_x
上的pubilc实例方法。
顺便说一句,像这样的调用实际上被编译为类似
的东西call X::Y(_x)
这是因为每个实例级方法都有一个隐式的第一个参数,它是对正在调用该方法的对象的引用(这就是this
引用正确对象的方式)。
答案 1 :(得分:1)
在我最迂腐的情绪中,我会写:
Y
是在X
类型中声明的无参数实例方法。它是在_x
的值引用的对象上调用的。
(_x
本身既不是对象也不是引用 - 它是变量。)
答案 2 :(得分:1)
通常情况并不是很大,因为类和变量都有描述性名称,因此很清楚它是什么。
使用实际类的示例:
builder
是一个变量,包含对StringBuilder
类实例的引用:
StringBuilder builder = new StringBuilder();
Append
方法是StringBuilder
类中的方法,而不是builder
变量中的方法。您正在builder
所指的实例上调用该方法:
builder.Append("asdf");