javaSE

 

javaSE  7官方文档

 

javaEE 6官方文档

 

 

 

 

C# JAVA区别

C#中,不用任何范围修饰符时,默认的是protect,因而不能在类外被访问.

JAVA规定,在一个文件中只能有一个public类,而且这个类的名称必须与文件名一模一样,这是一个区别

在C#中,它是以Main方法来定位入口的.如果一个程序中没有一个名为Main的方法,就会出"找不到入口的错误". 不要把Main写成main哟

C#预定义的简单 数据类型 比Java多。例如,C#有unit,即 无符号整数

忘掉Java中的static final修饰符。在C#中,常量可以用const关键词声明C#的设计者还增加了readonly关键词,readonly域只能通过初始化器或类的构造函数设置

在Java中, switch 语句只能处理整数。但C#中的switch语句不同,它还能够处理 字符变量

C#没有 >>>移位 操作符

goto关键词 :

Java不用goto关键词。在C#中,goto允许你转到指定的标签。不过,C#以特别谨慎的态度对待goto,比如它不允许goto转入到语句块的内部。在Java中,你可以用带标签的语句加上break或continue取代C#中的goto。

int[] x = { 0, 1, 2, 3 };

int x[] = { 0, 1, 2, 3 };

但在 C# 中,只有第一行代码合法,[]不能放到变量名字之后。

Java 不同的是,C#允许为 名称空间 或者 名称空间 中的类指定别名:

using TheConsole = System.Console;

在Java中,java.lang包是默认的包,C#中不存在默认的包

C#中的 访问修饰符 与Java中的基本对应,但多出了一个 internal 。简而言之,C#有5种类型的可访问性,如下所示:

 

public:成员可以从任何代码访问。

protected:成员只能从派生类访问。

internal :成员只能从同一程序集的内部访问。

protected internal :成员只能从同一程序集内的派生类访问。

private:成员只能在当前类的内部访问。

 

由于C#中不存在 final 关键词,如果想要某个类不再被派生,你可以使用 sealed 关键词

与Java不同,C#中的接口不能包含域(Field)。

另外还要注意,在C#中,接口内的所有方法默认都是公用方法。在Java中,方法声明可以带有public修饰符(即使这并非必要),但在C#中,显式为接口的方法指定public修饰符是非法的。

.C#中的 is 操作符与Java中的 instanceof 操 作符一样,两者都可以用来测试某个对象的实例是否属于特定的类型。在Java中没有与C#中的as操作符等价的操作符。as操作符与is操作符非常相似, 但它更富有“进取心”:如果类型正确的话,as操作符会尝试把被测试的对象引用转换成目标类型;否则,它把变量引用设置成null。

C#仍旧保留了C++的 内存手工管理方法 ,它适合在速度极端重要的场合使用,而在Java中这是不允许的

在C#中,所有的异常都从一个名为 Exception 的类派生

枚举器即 enum 类型(java无),把它作为一个变量值的类型使用,从而把变量可能的取值范围限制为枚举器中出现的值。

C#结构( Struct )与类很相似,而结构是一种值类型,它存储在栈中或者是嵌入式的,结构可以实现接口,可以象类一样拥有成员,但结构不支持继承

传值方式:

   在java中简单数据类型的值传参时,都以 传值方式 ;

   在c#中如果加 ref 则会以引用的方式传值(方法内部改变该参数,则外部变量一起跟着变);

             out ref 基本相同,但 out 不要求参数一定要初始化.

c#保留了 指针 unsafe

代理:代理(delegate)可以看作C++或者其他语言中的函数指针

   代理用来封装可调用方法。你可以在类里面编写方法并在该方法上创建代理,此后这个代理就可以被传递到第二个方法。这样,第二个方法就可以调用第一个方法。

   代理是从公共基类System.Delegate派生的引用类型。定义和使用代理包括三个步骤:声明,创建实例,调用。代理用delegate声明语法声明。

 

接口自身可从多个接口继承。

c#的interface中不用public

 

 

//一般情况下  将JAVA文件改成CS文件的 ,要更改的地方

//加上 using System          java的用import 

//把implements 改为 :

//System.out.printf 改为Console. WriteLine

//public static void Main() 不加Stirng也行  java的用 main c#的用 Main 大小写之分

 

 

 


 

 

Import
这与C语言的#include语句不是一回事。
C会在编译前把包含文件的全部内容复制到当前文件中,
而JAVA导入语句只是告诉编译器在哪里寻找类

 

import. ..要放在package后

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(java,exception,javaee,C#,import,interface)