技术总结---c#与java的区别客户端使用java还是c#?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术总结---c#与java的区别客户端使用java还是c#?相关的知识,希望对你有一定的参考价值。
因为近期需要做一个客户端,我主要的语言是java,但java写客户端 你们懂的 swing什么很丑的,所以选取了c#来做客户端。
由于有几年的编程经验,所以c#的上手还是挺快的 ,看了三四天 也能做一些东西了。这个项目主要是运用c#的窗体。后面遇到了一些坑,我会慢慢道来。
首先先说一下c#和java的区别
相同点:
1.首先c#和java都是面向对象的一种语言
它跟java一样有类 接口 枚举等 有访问修饰符【这边有点区别,想了解可以百度,就不在此做介绍了】
2.有大多数的编程语言一样 有反射机制
3.有重载 重写
4.c#和Java都是从main函数入口
5.其他不做过多的说明。。。
不同点:
1.访问修饰符:
C#中的访问修饰符与Java中的基本对应,但多出了一个internal。简而言之,C#有5种类型的可访问性,如下所示:
public:成员可以从任何代码访问。 protected:成员只能从派生类访问。
internal:成员只能从同一程序集的内部访问。
protected:成员只能从同一程序集内的派生类访问。
private:成员只能在当前类的内部访问。
2.继承:
Java中用关键字extends,c#只用":"就行了.调用父类的构造方法Java用super关键字,而c#用base关键字。
3.接口:
3.1 都用关键字interface定义,Java实现用关键字implements;c#用":"实现。在C#中,接口内的所有方法默认都是公用方法。在Java中,方法声明可以带有public修饰符(即使这并非必要),但在C#中,显式为接口的方法指定public修饰符是非法的。
3.2 接口不能实例化,当然java也不行,这里说的是c#中如果要用接口必须使用它的实现类,而java可以创建一个匿名的“接口”。这个我感觉java更方便。
4. 集合:
java一般集合取值是list.get(i) c#的取值是list[i] 这种风格有点类似数组
5.注解和特性 【说法不一样 ,本质是一样的】
java中注解 @interface 加上标识就能标识
c#中的特性:
6.反射机制写法不一样:
java示例:
c#示例:
宋文超super
以上是关于技术总结---c#与java的区别客户端使用java还是c#?的主要内容,如果未能解决你的问题,请参考以下文章