zoukankan      html  css  js  c++  java
  • java与C++不同之处(java不支持特性)

    java 不支持默认参数。(避免与重载混淆。)

    java 类没有析构函数。delete不是关键字。(垃圾自动回收机制)

    java 不支持操作符重载。所以对象比较只能老老实实实现comparable接口,然后用compareTo去比较了。想要用<去比较java对象是不可能的。

    java 局部变量(方法内变量)不支持static。

    java 不支持泛型数组。原因是擦除。

    java 泛型用擦除实现,不支持调用泛型类型方法。

    java 类不支持多重继承。接口可以。

    java 不支持引用符号(&),虽然它对象是按引用传递,但也只是如此而已。普通类型不可声明为引用。(引用可以用数组来模拟)

    java 不支持指针。

    java String不是以''结束。C是,C++ char *[]表示的字符串也是,但C++ std::string不是以''结束。事实上,String封装了length, 就没有必要再以''这种实际中容易引起混淆的标志结尾了。

    java 不支持方法默认参数,想要模拟C++默认参数效果,可用方法overloading实现。

    java boolean不可转化为其它基本数据类型。其他类型也不能转化为boolean。强制转型也不行。这其实是好事。因为这意味着在if,while等判断式中,除了boolean,其它基本类型都会出错。也规避了==和=引起的错误。

    java char默认2字节。C++是1字节。这对处理中文有极大好处。虽然保存UTF-8还是不够......

    java 没有sizeof()操作符。因为不需要。所有基本类型都是平台统一。当然boolean除外。

    java 没有unsigned int等类型。想声明无符号整数,是不可能的。不过也不是很必要,毕竟现在内存大了,少一个bit也没什么。

    java 中ArrayList<Long> arraylist = new ArrayList<Long>(10),会分配空间,但size不变,所以调用arraylist.set(1,0)会越界.....C++不会。但提前分配空间是有意义的,只是set会检查size,所以悲剧发生了.....

    而这些C++都支持。

    待续。

  • 相关阅读:
    http协议头文件的控制信息 .
    http头文件详解
    java(计算机)常见加密算法详解
    设计模式系列命令模式
    dom对象模型浏览器对象的分层结构图
    验证码实现详解
    JAVA中使用FTPClient实现文件上传下载
    javax.crypto.Cipher类提供加密和解密功能,该类是JCE框架的核心。
    java中的使用RSA算法进行公钥加密私钥解密 .
    Httpservlet源码及实现机制详解
  • 原文地址:https://www.cnblogs.com/zqiguoshang/p/6410368.html
Copyright © 2011-2022 走看看