C# 实例化与类型化引用
就在我认为我开始了解基本知识的时候,我发现了一些能让我回到现实的东西。在本例中,输入引用 我发现了一个类似的例子:C# 实例化与类型化引用,c#,instantiation,C#,Instantiation,就在我认为我开始了解基本知识的时候,我发现了一些能让我回到现实的东西。在本例中,输入引用 我发现了一个类似的例子: class Worker { Boss boss; public void Advise(Boss pBoss) { this.boss = pBoss; } 如果Boss类不是静态的,也不是实例化的,那么如何在其内部引用方法 我想我真正的问题是: Boss boss; 和 Boss boss = new Boss(); Boss创建一个名为boss的字段,其类型为
class Worker
{
Boss boss;
public void Advise(Boss pBoss)
{
this.boss = pBoss;
}
如果Boss类不是静态的,也不是实例化的,那么如何在其内部引用方法
我想我真正的问题是:Boss boss;
和Boss boss = new Boss();
Boss
创建一个名为boss
的字段,其类型为boss
(默认值为null
)
Boss=new Boss()
创建一个名为boss
类型的boss
变量,并在该变量中存储对boss
类型的新实例的引用。boss-boss
创建一个名为boss
的字段,其类型为boss
(默认值为null
)
Boss=new Boss()
创建类型为boss
的名为boss
的变量,并在该变量中存储对类型为boss
的新实例的引用。仅拥有代码boss
只会让您能够创建类型为Boss
的类。当您使用代码Boss=new Boss()实例化类时代码>或通过设置变量this.boss=pBoss
在advice
方法中,您将能够访问Boss
对象的实例化实例上的方法和属性 只是拥有代码老板
只会让您能够创建类型为Boss
的类。当您使用代码Boss=new Boss()实例化类时代码>或通过设置变量this.boss=pBoss
在advice
方法中,您将能够访问Boss
对象的实例化实例上的方法和属性 方法advice()
获取Boss类的一个实例,然后将私有字段设置为该Boss实例。调用advice方法并设置Boss实例后,Worker类就可以使用Boss公开的任何方法或属性 方法advice()
获取Boss类的一个实例,然后将私有字段设置为该Boss实例。调用advice方法并设置Boss实例后,Worker类就可以使用Boss公开的任何方法或属性 字段boss
可以包含对类boss
实例的引用。最初,boss
包含null
,这意味着它不引用任何实例。说出newboss()
将创建Boss
的新实例。您可以在boss
中存储对此新实例的引用
pBoss
还可以包含对Boss
实例的引用,您可以通过说Boss=pBoss
将此引用存储在Boss
中,Boss字段可以包含对类Boss
实例的引用。最初,boss
包含null
,这意味着它不引用任何实例。说出newboss()
将创建Boss
的新实例。您可以在boss
中存储对此新实例的引用
pBoss
还可以包含对Boss
实例的引用,您可以通过说Boss=pBoss
将此引用存储在Boss
中
如何在中引用方法
Boss类(如果不是静态的)和
没有实例化
你不能。除了像int
这样的内置数据类型之外,您总是需要实例化变量
this.pBoss=Boss仅当类型为Boss
的对象已在其他地方实例化并作为参数传递到advice()
中时,code>才起作用。如果是这样称呼的话:
Advise(null);
…然后您仍然无法使用Worker.boss
(它将引发异常)
它的价值,在C++等低级语言中更为明显。
如何在中引用方法
Boss类(如果不是静态的)和
没有实例化
你不能。除了像int
这样的内置数据类型之外,您总是需要实例化变量
this.pBoss=Boss仅当类型为Boss
的对象已在其他地方实例化并作为参数传递到advice()
中时,code>才起作用。如果是这样称呼的话:
Advise(null);
…然后您仍然无法使用Worker.boss
(它将引发异常)
它的价值,在C++之类的低级语言中更明显。
也是这样。Boss = PBOSS和BOSS BOSS =新BOSS()相同。@ FARSTUCKE:不,代码。这个Boss = PBOSS 在代码< BOSS < /代码>中存储<代码> PBOSS <代码>的值。pBoss
的值是传递给advice
的值。您可以传入new Boss()
,也可以传入对Boss
的某个现有实例的引用。那么,this.Boss=pBoss是否与Boss=new Boss()相同?@Farstucker:No,this.Boss=pBoss
将pBoss
的值存储在Boss
中。pBoss
的值是传递给advice
的值。您可以传入new Boss()
,也可以传递对Boss
的某个现有实例的引用。没错,我查看了代码的其余部分,发现它已在类的另一部分实例化。谢谢。你说得对,我看了代码的其余部分,注意到它是在类的另一部分实例化的。谢谢。@code4life:在给定的示例中,boss是一个字段而不是变量。字段已初始化为默认值。确认,抱歉,我跳得太快了。我要收回我的话