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=BossBoss
的对象已在其他地方实例化并作为参数传递到
advice()
中时,code>才起作用。如果是这样称呼的话:

Advise(null);
…然后您仍然无法使用
Worker.boss
(它将引发异常)

它的价值,在C++等低级语言中更为明显。 如何在中引用方法 Boss类(如果不是静态的)和 没有实例化

你不能。除了像
int
这样的内置数据类型之外,您总是需要实例化变量

this.pBoss=BossBoss
的对象已在其他地方实例化并作为参数传递到
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是一个字段而不是变量。字段已初始化为默认值。确认,抱歉,我跳得太快了。我要收回我的话