Java与C#的语法区别

1.作用域

在java中

{

  {

    int a=1;

  }

  int a=2;//以上a作用域外的以下,再声明同名的变量,是允许的;

}

在C#中,以上是不允许的【只要在同一个作用域内,以上或以下的代码中 不能存在同名变量】

2.布尔值

  在java中,布尔值用boolean

  在C#中,布尔值用bool

3.命名规则

  在java中,函数的命名是小驼峰式:首字母小写,其他单词首字母大写

  在C#中,函数名命名是大驼峰式:所有单词的首字母都是大写

4.静态代码块

  在java中,有静态代码块的概念 static{//。。。}

  在C#中,没有静态代码块的概念

5.接口默认方法

  在Java中,接口有默认方法:default void fun(){}//方法体必须有,为了解决在后期在接口中添加新方法(新方法会导致以前的子类,没有实现该方法,这时候就可以定义默认方法)。

  在C#中,没有默认方法。

6.接口静态方法

  在java中,接口可以有静态方法,(且已经实现了其方法体)

  在C#中没有静态方法

7.私有方法

  在java 中,接口可以有私有方法

8.判断子类类型

  在java中,用instanceof     people instanceof Chinese

  在C# 中,用is        people is Chinese

 9.顶级object类

  在C#中,所有数据类型都是继承于object
  在Java中,是所有类类型都继承于object,而像int这样的基本数据类型,它有对应的类类型,jvm会自动将int类型的数值自动装箱成Integer类型,该Integer变量会向上转型成为一个Object对象。

 10.内部类

  在java中,内部类,在外部如何使用,  outerClass.innerClass=new outerClass().new innerClass();

11.泛型

  Java中泛型通配符?.      Collection<?>只能作为参数传递。Collection<? extend classB>   Collection<? super classB>

原文地址:https://www.cnblogs.com/LJP-JumpAndFly/p/10253217.html