-
原文出处:
/
p>
看看下面的
C#
问题都能回答上来么?
p>
1.
静态变量和非静态变量的区别?
答:
静态变量
:静态变量使用
static
修饰符进行声明在所属类被装
载时创建通过类进行访
问所属类的所有实例的同一静态变量都是
同一个值
;
非静态变量
:不带有
static
修饰符声明的变量称作非静态变量在类被实例化
时创建通
过对象进行访问同一个类的不同实例的同一非静态变量可以是
< br>不同的值
。
和
static readonly
区别?
答:
const
用
const
修饰符声明的成员叫
常量
,是在编译期初始化并嵌入到客户端程序;
static
readonly
用
static
readonly
修饰符声明的成员依然是
< br>变量
,只不过具有和常量类
似的使用方法:
通过类进行访问、
初始化后不可以修改。
但与常量不
同的是
这种变量是在运
行期初始化
。<
/p>
是什么意思?
答:
extern
修饰符用于声明由程序集外部实现的成员函数经常用于系统
API
函数的调用
(通
过
DllImport
)
。注意,和<
/p>
DllImport
一起使用时要加上
static
修饰符,也可以用于对于同
一程序集不同版本组件的调用(用
extern
声明别名)
,不能与
abstract
修饰符同时使用
5
1aspx
。
ct
是什么意思?
答:
abstract
修饰符可以用
于类、方法、属性、事件和索引指示器(
indexer
)
p>
,表示其为抽
象成员。
abstract
不可以和
static
、
virtual
、
override
一起使用,声明为
abstract
成员可
以不包括实现代码,
但只有类中
还有未实现的抽象成员,
该类就不可以被实例化,
通常用于
p>
强制继承类必须实现某一成员
al
修饰符起什么作用?
答:
internal
修饰符可以用于类型或成员,使用该修饰符声明的类型或成员只能在
同一程
集内访
,问接口的成员不能使用
internal
修饰符。
修饰符是干什么的?
答:
sealed
修饰符表示密封。
用于
类时,
表示该
类不能再被继承
,
不能和
abstract
同时使
用
,
因为这两个修饰符
在含义上互相排斥。
用于方法和属性时,
表示该方法或属性不能
再被
继承,
必须和
override
关键字一起使用,
因为使用
sealed
修饰符的方法或属性肯定是基类
中相应的虚成员,
通常用于实现第三方类库时不想被客户端继承
,或用于没有必要再继承
的类,以防止滥用继承造成层次结构体系混乱。恰当的
利用
sealed
修饰符也可以提
高一定
的运行效率,因为不用考虑继承类会重写该成员。
de
和
overload
的区别?
答:
override
表示重写
,用于继
承类对基类中虚成员的实现,
overload
表示重载
,用于
同一个类中同名方法不同参数(包
括类型不同或个数不同)的实现。
8.
什么是索引指示器?
答:实现索引指示器(
indexer
)的类可以
象数组那样使用其实例后的对象,但与数组不同的
是索引指示器的参数类型不仅限于
p>
int
简单来说,其本质就是一个含参数属性。
修饰符是起什么作用?
答:
new
修饰符与
new
操作符是两个概念。
new
修饰符
用于声明类或类的成员
,表示
隐藏了基类中同名的成员。而
new
操作符<
/p>
用于实例化一个类型
,
new
修饰符只能用于继
承类,
p>
一般用于弥补基类设计的不足。
new
修饰符和
override
修饰符不可同时用在一个成
员上,因为这两个修饰符在含义上互相排斥
。
-
-
-
-
-
-
-
-
-
上一篇:评语大全之英文实习评语
下一篇:c++经典面试题