zoukankan      html  css  js  c++  java
  • Unity脚本基础Day02

    1>  C#中所有引用类型的基础是什么?

    (1)引用类型的基类是System.Object

    (2)值类型的基类是System.ValueType,也隐式继承System.Object

    2>请简述ArrayList和List<Int>的主要区别?

    (1)ArrayList不带泛型    数据类型丢失

    (2)List<T>带泛型   数据类型不丢失

    (3)ArrayList需要装箱拆箱  List<T>不需要

    3>请简述GC(垃圾回收)产生的原因,并描述如何避免?

    GC为了避免内存溢出而产生的回收机制

    避免:

    (1)减少new产生对象次数

    (2)使用公用的对象(静态成员)

    (3)将string换为stringBuilder

    4>请描述Interface与抽象类之间的不同

    (1)接口不是类,不能实例化,抽象类可以间接实例化

    (2)接口是完全抽象,抽象类为部分抽象

    (3)接口可以多继承,抽象类是单继承

    5>反射的实现原理?

    可以在加载程序运行时,动态获取和加载程序集,并且可以获利到程序集的信息,反射即在运行期动态获取类,对象,方法,对象数据等的一种重要手段.

    主要使用的类库:System.Reflection

    核心类:

    1>Assembly描述了程序集

    2>Type描述了类这种类型

    3>ConstructorInfo描述了构造函数

    4>MethodInfo描述了所有的方法

    5>FieldInfo描述了类的字段

    6>PropertyInfo描述类的属性

    通过以上核心类可在运行时动态获取程序集中的类,并执行类构造产生类对象,动态获取对象的字段或属性值,更可以动态执行类方法和实例方法等

    6>.Net与Mono的关系?

    (1).Net是一个语言平台

    (2)Mono为.Net提供集成开发环境,集成并实现了.Net的编译器,CLR和基础类库,使得.Net既可以运行在windows也可以运行于linux,Unix,Mac  OS等

    7>在类的构造函数前加上static会报什么错?为什么?

    构造函数格式为public+类名      如果加上static会报错(静态构造函数不能有访问修饰符)

    原因:

    (1)静态构造函数不允许访问修饰符,也不接受任何参数

    (2)无论创建多少类型的对象,静态构造函数只执行一次

    (3)运行库创建类实例或者首次访问静态成员之前,运行库调用静态构造函数

    (4)静态构造函数执行先于任何实例级别的构造函数

    (5)显然也就无法使用  this和base来调用构造函数

  • 相关阅读:
    设计模式(十)外观模式
    设计模式(九)装饰器模式
    设计模式(八)组合模式
    设计模式(七)桥接模式
    设计模式(六)代理模式
    设计模式(五)适配器模式
    linux 安装 node
    LeetCode 335. Self Crossing
    LeetCode 332. Reconstruct Itinerary 最小欧拉路径
    LeetCode 327. Count of Range Sum 区间和的个数
  • 原文地址:https://www.cnblogs.com/qipei/p/10034164.html
Copyright © 2011-2022 走看看