没有合适的资源?快使用搜索试试~ 我知道了~
面试题集锦(C#,java)
需积分: 3 22 下载量 161 浏览量
2008-10-10
13:54:23
上传
评论
收藏 260KB DOC 举报
温馨提示
试读
20页
最全的ASP.NET,JAVA 面试题大公司的面试题集锦压缩版本,包含JavaScript,SQL基础等,面试大公司前可以看看,本人经验很多公司的题都是这样的。
资源推荐
资源详情
资源评论
Page 1 of 20
C# And Java
支持无符号数
允许重载操作符
可以定义自己的值类型,比如
支持 partial class
支持 static class
支持
a[m,n],a[m][n] 两种多维数组
扩展方法,lamda 表达式,对象初始化器,LINQ
Main()—注意是大写,允许 String[] args 和无参两
种方式,声明数组只能用 int[] x 形式
允许自动装箱拆箱,支持枚举值,支持 foreach,
支持 attribute 支持泛型
除 char 外,int,long,double 都只有有符号类型,
但 Java 专门设了>>>进行无符号位移
只支持
a[m][n] 形式的多维数组
main()只支持 string[] args 不支持无参形式
声明数组允许 int[] x 与 int x[]形式
JAVA 到 JDK5 才支持装箱拆箱,枚举值
Java 中使用 for(T t:ts)实现 foreach 相同意思
Java 中用 annotation 来支持 C#中 attribute
中 要么 要么 中没有 但仍作为保留字
Exception 不是方法签名一部分 要求每一个 checked Exception 如果没有 catch
就必须写在方法签名的一部分
使用 override 对方法进行覆写,若没有就进行方法
隐藏(hide)
默认处理子类与父类具有相同签名的方法是覆写
C#支持 ref, out 等参数传递方式 只支持值传递,不能很方便写一个方法交换两个变
量的值
文件部署方式与逻辑部署方式是分离的,物理上
用.CS 文件,逻辑上用名字空间,名字空间与源文
件系统无关。一个 cs 文件可以包含多个类
Java 要求每个.Java 只能包含一个 public 类,并
且类名与文件名一致,java 中 package 与目录结
构精确的一致
使用 bool 代表布尔值 使用 boolean
使用:表示类继承和接口实现 使用 extends 实现继承 implements 实现接口
Const 表示常量,readonly 表示只读变量 是 final 表示常量
使用 is,as 实现类型转换 使用 instanceof 关键字或 T1=(T1)o 转换
:利用 声明且仅声明了,有什么错误么
答:要同时修改 Equale 和 GetHash() ? 重载了"==" 就必须重载 "!="
修饰控制符:
1. Java 中 class 的 访 问 控 制 符 public, 或 者 没 有 ( 默 认 的 包 访 问 ) 。 C# 中 ,
class , interface 的 访 问 控 制 符 可 以 是 public , protected
internal,internal,protected,private
2. Java 中
修饰符 同一个类中 同一个包中 不同包中的子类 任何场合
Private
是
Default ( 不
写)
是 是
Protected
是 是 是
Public
是 是 是 是
C#中
修饰符 类内部 同 一 程 序 集 同 一 程 序 集 不 同 程 序 集 不 同 程 序 集
2021-8-5
Page 2 of 20
的子类 的其他类 的子类 的其他类
Private
是
Protected
是 是 是
Internal
是 是 是
Protected
internal(in
ternal
protected
)
是 是 是 是
Public
是 是 是 是 是
Notes:
中类结构默认访问控制符是 ,类结构的成员默认访问控制符是
接口的默认控制符访问符是 ,接口成员的默认访问控制符是 (也只能是)
命名空间,枚举类型成员默认 (也只能是)委托,默认为
在命名空间内部或编译单元顶部的所有类型,默认是 ,可以人为改为
修饰符只能用于嵌套的类,表示对继承父类同名类型的隐藏。
用来修饰抽象类,表示该类只能作为父类被用于继承,而不能进行对象实例化。
抽象类可以包含抽象的成员,但这并非必须。
不能和 同时用。
在 中对类的访问修饰符有两种和缺省在类前加 说明此类可以在包外
使用,不写说明不能在包外使用。
在 中也有两种访问修饰符:和缺省即 ,在类前加 说明此类可
以在任何地方都可以使用,在类前不写或 只允许在此类当前程序集中使用。
在 中类成员前面什么也不写,默认为缺省,而在 中不写默认为私有的
在 中类前不用访问修饰符默认为缺省,而在 中不用访问修饰符默认为
!在 中对象中只有属性在 中对象中只有字段。
Java 中的 main 函数必须是 public static void main(String[] args)的样子,否则
虚拟机拒绝运行。
C#中,Main 函数可以是 private 的(甚至可以是 protected),可以没有参数,可
以返回 int 值。有点像 C 语言。特别注意 main 的 m 是大写的,与 C,C++,JAVA 都不同。
与
java 中,==和 equals 都是比较地址的,在 String 中的 equals 方法覆盖了 Object 的
equals 方法,用来比较字符串的值。
C#中,==和 equals 也都是比较地址的,但在 String 中的==和 equals 方法覆盖
Object 的两个方法,都是用来比较值的.
Set 里的元素是不能重复的,那么用 iterator()方法来区分重复与否。equals()是判读两个 Set 是否相等。
在 String 中用来比较它们地址方法是:string.ReferenceEquals(字符串 A,字符串 B);
和 区别:
2021-8-5
Page 3 of 20
Const Static readonly
声明的成员叫常量,是在编译期
初始化并嵌入到客户端程序
用于修改字段或局部变量的声
明。它指定字段或局部变量的值
是常数,不能被修改
声明属于类型本身而不是属于特定对
象的静态成员。修饰符可用
于类、字段、方法、属性、运算符、
事件和构造函数,但不能用于索引
器、析构函数或类以外的类型
对于一个"#的$%
类型,只是被限定不能进行赋值
(写)操作而已。而对其成员的
读写仍然是不受限制的
用于修饰 class 的 field 或者
一个局部变量,以及类的成员
与 static 相对的是 auto(默认) readonly 仅仅用于修饰 class
的 field
Const 只能是常量,不能用变量
声明如:const int a =
b+1(error)
可以用某些变量来声明,但是结
果要是常量。
a)&
b)'"(
(
c))*""#
+
b) ' "
(
*"
" # "
public const DateTime D = DateTime.MinValue;// 改成 readonly 就可以正常编译:
"#,-.//, 为运行时常量
0-.//0:编译时常量即你编译一次后再改变这里的值,直接运行时程序仍按以前值执行
-,10.经过编译后与下面的形式等价:-,1.
22可以看到,其中的 常量 0 被替换成字面量 ,而 "# 常量 , 则保持引用方式。
使用 的情况:取值永久不变,对程序性能要求非常苛刻 其他的都用 readonly
常量的值必定在编译时就
已明确并且恒定的
须在声明的同时对其进行赋值,
并且确保该值在编译时可确定并
恒定
常量属于类级别()
而 不 是 实 例 对 象 级 别 (
), 并且 它不能 跟
结合一起使用,该常量的值
将由整个类的所有实例对象共同
分享
auto 的含义是由程序自动控制变
量的生存周期,通常指的就是变
量在进入其作用域的时候被分
配,离开其作用域的时候被释放
就是不 ,变量在程序
初始化时被分配,直到程序退出
前才被释放;也就是 是按
照程序的生命周期来分配释放变
量的,而不是变量自己的生命周
期
readonly 常量却有一点不同,
那就是其值可以在运行时编译,
当然,它也必须遵守作为常量的
约束,那就是值必须恒定不变。
可以根据情况选择在声明的同时
对其赋予一个编译时确定并恒定
的值,或者将其值的初始化工作
交给实例构造函数(instant
constructor)完成
2021-8-5
Page 4 of 20
声明为静态的类或方法不必首先
使用关键字new进行实例化就可
存在
能被 修饰声明为常量的类
型 必 须 是 以 下 的 基 元 类 型
((#): ##
% " %
"(。
数 组 ( ,# ) 和 结 构
(),引用类型不能被声明
为 常量。
但 类 型 可 以 声 明 为
(中 是恒定的)
既可以是类级别也可以是实例对
象级别的,这取决于它的声明以
及初始化工作怎么实
施。"# 可以与 结合
使用,用于指定该常量属于类级
别,并且把初始化工作交由静态
构造函数()完
成(有关如何把 "# 常量声
明为类级别或实例对象级别的论
述清参见后面的 $( 区域)
。
:中 是当载入一个类时执行一次的。
Since classes or structures are initialized at run time with the keyword, and not at compile
time, you can't set a constant to a class or structure 。("
""
"%#%"##"
3"%""#(%#4%#
(
Null and void
null void “”
初始化对象,但是不分配空间 表示没有返回值,中不是一个
数据类型(不同于 11)
分配空间,存储一个空字符串
)567.//5.//3).//83)67.//
(int)null ; (int)””; 错误
什么是虚函数?什么是抽象函数?
虚函数 抽象函数(abstract)
没有实现的,可由子类继承并重写的函数 规定其非虚子类必须实现的函数,必须被重写
派生类中可以被重写加上 override,非虚函数不可
以,若派生类中未被重写,保留原积累虚函数功能
没有执行代码,如果类有抽象函数,类便是抽象类
需使用 new 修饰符显式声明,表示隐藏了基类中该函数的实现
或增加 override 修饰符,表示抽象重写了基类中该函数的实现
ASP.NET 与 ASP 相比,主要有哪些进步:
答:asp 解释形,aspx 编译型,性能提高,可以跟美工的工作分开进行,更有利于团队开发。
,,:
功能
继承 允许继承单个类,
允许实现多个接口
允许从多个类继
承
允许继承单个类,
允许实现多个接口
2021-8-5
剩余19页未读,继续阅读
资源评论
wsf_yifan
- 粉丝: 3
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功