这里有很多U3D资源、U3D培训视频、U3D教程、U3D常见问题、U3D项目源码,我们致力于打造业内unity3d培训、学习*
今天考了一些考试题,或许以后面试会用到,总结一下
1、abstract class和interface的区别是什么?
1.抽象类可以有构造方法,接口中不能有构造方法。
2.抽象类中可以有普通成员变量,接口中没有普通成员变量
3.抽象类中可以包含非抽象的普通方法,接口中的所有方法必须都是抽象的,不能有非抽象的普通方法。
4. 抽象类中的抽象方法的访问类型可以是public,protected和(默认类型,虽然eclipse下不报错,但应该也不行),但接口中的抽象方法只能是public类型的,并且默认即为public abstract类型。
5. 抽象类中可以包含静态方法,接口中不能包含静态方法
6. 抽象类和接口中都可以包含静态成员变量,抽象类中的静态成员变量的访问类型可以任意,但接口中定义的变量只能是public static final类型,并且默认即为public static final类型。
7. 一个类可以实现多个接口,但只能继承一个抽象类。
2、Overload和Override的区别是什么?
override(重写)
(1)、方法名、参数、返回值相同。
(2)、子类方法不能缩小父类方法的访问权限。
(3)、子类方法不能抛出比父类方法更多的异常(但子类方法可以不抛出异常)。
(4)、存在于父类和子类之间。
(5)、方法被定义为final不能被重写。
overload(重载)
(1)、参数类型、个数、顺序至少有一个不相同。
(2)、不能重载只有返回值不同的方法名。
(3)、存在于父类和子类、同类中。
3、静态成员和非静态成员的区别?
静态成员变量是所有对象共用的,只有一份,不会为每一个对象都分配一个不同的值。比如,如果最长寿命是一个静态成员变量,那么你-最长寿命 和 我-最长寿命 调用的时候用的是同一个内存上的值,所有对象的调用都是这个值。
不过是非静态成员,那么这个值就不同。每个对象都有自己的值,比如名字、身高、等等
4、描述数据库连接过程?
(1)引入命名空间
(2)、创建一个SqlConnection对象(连接数据库的语句)
(3)、打开连接
(4)、创建一个SqlCommand对象(要执行的语句)
(5)、获取SqlDataReader对象
(6)、关闭SqlDataReader对象
(7)、关闭连接
5、接口的特征是什么?使用接口的好处有哪些?
特征:
(1)、接口类似于抽象基类,不能直接实例化接口;接口中的方法都是抽象方法,实现接口的任何非抽象类型都必须实现接口的所有成员。
(2)、接口不能包含常量、字段、运算符、实例构造函数、析构函数或
类型、不能包含静态成员。
(3)、接口成员是自动公开的,且不能包含任何访问修饰符。
(4)、接口自身可从多个接口继承,类和结构可继承多个接口,但接口不能继承类。
好处:
(1)、规范类的实现
(2)、面向接口开发,可以很好的实现代码的重用
6、什么是命名空间?怎样引用命名空间?命名空间的作用是什么?不用命名空间可以吗?
(1)、什么是命名空间:命名空间是为了把一些类和类的实例更好地管理而定义的把这些类和实体集合起来的一个团体
(2)、怎样应用命名空间:using 命名控件名
(3)、作用:命名空间提供了一种从逻辑上组织类的方式,防止命名冲突
(4)、不可以
7、什么是多态?请举例说明
(1)、多态:同一事件,作用不同对象,产生不同的结果
(2)、举例:动物饲养员给熊猫的老虎喂竹子,两个对象时老虎和熊猫,相同的事件是喂竹子,其结果就是熊猫吃竹子和老虎不吃竹子两种不同的结果
8、构造方法有什么特征?它的作用是什么?
(1)、特征:
①:构造方法必须与所在的类具有相同的名字。
②:构造方法没有返回类型,甚至连 void 也没有。
③:构造方法的调用是在创建一个对象时使用 new 操作符进行的。构造方法的作用是初始化对象。