Java和C#都是编程的言语,它们是两个差别方向的两种言语。
雷同点:
他们都是面向对象的言语,也就是说,它们都能完成面向对象的头脑(封装、继续、多态)。
区分:
1.c#中的定名空间是namespace类似于Java中的package(包),在Java中导入包用import而c#顶用using。
2.c#和Java都是从main函数进口的,然则c#中的main函数的首字母必需大写,它有四种写法以下:
static void Main(string args[]){}
static int Main(string args[]){}
static void Main(){}
static void Main(){}
而Java中只要一种情势:static void main(String [] args){}
3.数据范例:Java跟c#基础都差不多,然则Java的String范例的首字母必需大写,而c#中能够小写也能够大写,另有布尔型,Java中是boolean,c#中是bool。
4.变量的定名:Java中能够用$标记,而c#中不能够运用。
5.解释:Java比c#少一种"///"的文档解释。
6.输出:c#有三种体式格局输出:Cosole.WriteLine(); Cosole.WriteLine(要输出的值); Cosole.WriteLine("花样字符串",变量列表); 前两种的用法与Java中的ystem.out.println()要领的用法雷同,第三种体式格局是依据占位符输出的,比Java更方便了。
7.掌握流语句:c#跟Java类似,另有c#中的switch假如case背面有内容必需要有break;Java能够没有break;
8.数组:两种言语的声明都是用new关键字的。都能够在建立数组的同时初始化如:int a[]={1,2,3,5,5};然则c#比Java多两种初始化如:int a[]=new int[3]{1,2,3}; int a[]=new int[]{1,2,3};
9.要领中通报的参数:两种言语都运用值通报与援用通报。
C#的援用通报的关键字是ref与out,ref侧重于修正,out侧重于输出。而Java中都以传值体式格局;
10.接见修饰符:C#中的接见修饰符与Java中的基础对应,但多出了一个internal。简而言之,C#有5种范例的可接见性,以下所示:
public:成员能够从任何代码接见。 protected:成员只能从派生类接见。
internal:成员只能从统一顺序集的内部接见。
protected:成员只能从统一顺序集内的派生类接见。
private:成员只能在当前类的内部接见。
11.因为C#中不存在final关键词,假如想要某个类不再被派生,你能够运用sealed关键词密封。
12.鸠合:两种言语都有鸠合ArrayList,另有经由过程键接见值的Java中是HashMap而c#中是HashTable。c#比Java多泛型鸠合List<T>与Dictionary<K,V>更轻易了,无需拆箱装箱了,更平安了。
13.继续:Java顶用关键字extends,c#只用":"就好了.挪用父类的组织要领Java用super关键字,而c#用base关键字。
14.多态:笼统类和笼统要领两种言语都用abstract关键字。Java中别的一个类假如继续了它,完成直接重写此要领就能够了;而c#必需加上关键字override完成。C#还比Java多一种虚要领来完成多态。
15.接口:都用关键字interface定义,Java完成用关键字implements;c#用":"完成。在C#中,接口内的一切要领默许都是公用要领。在Java中,要领声明能够带有public修饰符(纵然这并不是必要),但在C#中,显式为接口的要领指定public修饰符是不法的。
16.C#中的is操作符与Java中的instanceof操作符一样,二者都能够用来测试某个对象的实例是不是属于特定的范例。在Java中没有与C#中的as操作符等价的操作符。as操作符与is操作符异常类似,但它更富有"进取心":假如范例准确的话,as操作符会尝试把被测试的对象援用转换成目的范例;不然,它把变量援用设置成null。
17.罗列器即enum范例(java无),把它作为一个变量值的范例运用,从而把变量能够的取值局限限制为罗列器中涌现的值。
18.构造(Struct)与类很类似,而构造是一种值范例,它存储在栈中或者是嵌入式的,构造能够完成接口,能够象类一样具有成员,但构造不支持继续。
19.c#保留了指针。Unsafe。(C#运用指针不平安,末了这条有待考据)
ki4网,大批的免费Java入门教程,迎接在线进修!
以上就是c#和java的区分有哪些的细致内容,更多请关注ki4网别的相干文章!