c#与java对照

c#基本类型转换:System.convert()


重大不同是:

     java对类及类成员默认的访问级别是:package
     c#默认一切为私有的private。
     c#的internal对应于java的package

 

 

     c#的接口成员无域,所有方法默认为public,但不能带public

      派生类的成员覆盖基类的成员:用new

 

c#类相关的修饰符:
     类默认public
     属性,方法,性质等默认private 


c#的override
        override用于abstract或virtual方法的override


关于override:override的主法是父类或子类实例化后能访问到的方法,
如果是私有的方法,override则无任何意义,因此,在c#里,private
方法即使重复不算override,但是在java里,可能算。

c#和java关于override的规则不一样的:(如果两个方法签名一样)
c#:但是如果两个方法完全一样并且都是private,则无意义,不算override(此时加了new 则出报错。),至少有一方实例后要能访问得到。
java:如果两个方法的签名一样,则子类的访问修饰符必须大于父类的访问修饰符,否则就会不能正常形成override,则会报错,但c#不会出现。


c#的类中构造函数调用构造函数
 struct Point {
  public int X, Y;
  public Point(int x, int y);
  public Point(Point pt) : Point(pt.X, pt.Y) { } // 可以,C# 允许
  };

这种语法很变态!在java中只要用this即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值