zoukankan      html  css  js  c++  java
  • C#和Java在语法上的差异(原创,持续更新中)

    1.switch  C#一直支持String类型 Java直到1.7才支持

    2.C#里String有Length属性 Java里是Length方法

    3.C#中修饰class的sealed效果与Java的final相当(有待细细研究),Java没有sealed修饰符,C#没有final

    4.C#中的方法参数支持ref/out(引用传递),Java没有

    5.特别注意:在String对象中,C#里的"=="是比较值相等,和equals是等效的;而Java中"=="是表示引用相等,equals表示值相等

    //Java
    public static void main(String [] args) {
        String s1 = "12";
        String s2 = new String("12");
        String s3 = "1";
        String s4 = "2";
        String s5 = s3 + s4;
        String s6 = "1" + "2";
    
        System.out.println(s1==s2);
        System.out.println(s1==s5);
    }

    输出均为false
    //C#
     static void Main(string[] args)
            {
                String s1 = "12";
                String s3 = "1";
                String s4 = "2";
                String s5 = s3 + s4;
                //String s6 = "1" + "2";
                Console.Write(s1.Equals(s5));
                Console.Write(s1==s5);
            }
    输出均为true

    6.C#中的接口不能带有属性成员,而Java可以;在C#中显式地对接口方法使用public也是非法的,而Java却可以。

    7.C#中无法被继承的类:sealed类和static类,Java中是final类
    8.Java中String类有charat方法,C#没有
    System.out.println(s.charAt(5));
    9.Java中的泛型在编译过程中会被擦除类型,再被调用时才做类型的转换,这相对于C#中产生了新类型的泛型而言,是一种“伪泛型”
    10.C#中并没有HashMap,Java中没有Dictionary
    11.关于override,C#中必须是有vitual、abstract、override修饰的方法才可以被override,Java则没有此限制;此外,Java中可以省略 但基于@Override的对方法名检查作用以及代码的可读性考虑 我们一般会写上  而在C#中override是不可省略的
    12.在异常处理中,C# 没有throws的用法
     
     
     
    如有错误请指正
  • 相关阅读:
    Windows Form -----内容(3)
    Windows Form -----内容(2)
    Windows Form -----内容(1)
    C#与数据库链接---小练3--插入语句的验证
    C#与数据库链接---小练2--查询
    连接数据库--小练---简单增删改
    SQL简短汇总
    面向对象---4
    面向对象--3
    面向对象----类2
  • 原文地址:https://www.cnblogs.com/alden-it/p/6277659.html
Copyright © 2011-2022 走看看