• 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>

  • 相关阅读:
    回调函数实现类似QT中信号机制
    Qt Creator下载和安装(详细教程)
    对象池实现分析
    MongoDB Redis
    双重加锁
    开源项目
    进程创建
    WebAPI性能优化
    StatusCodePagesMiddleware中间件如何针对响应码呈现错误页面
    NET Core + Angular 2
  • 原文地址:https://www.cnblogs.com/LJP-JumpAndFly/p/10253217.html
Copyright © 2020-2023  润新知