• Java与C++


    优点:
    (1)跨平台(大部分平台上都有Java虚拟机),许多平台(计算机+操作系统)上都有各自的Java虚拟机(java VM),Java虚拟机不跨平台,要分别编写。编译生成的中间代码,由统一的Java虚拟机指令组成。
    (2)代码可移动(与HTML相结合)。
    (3)完全面向对象。
    (4)编出来的程序不易出错(没有指针,内存垃圾自动回收,不会产生内存泄漏)。

    Java与C++的区别:
    (1)完全面向对象:无全局变量、无结构和联合、自动回收内存垃圾。
    结构体:
    C++:
    struct student
    {
     char name[9];
     char sex[2];
     short age;
    }stud1,stud2;
    struct student stud={"...","..",18};
    stud1.name="...";
    ....

    Java:
    class Student
    {
     private String name;
     private String sex;
     private short age;
     public void setName(String name){
      this.name=name;
     }
     public String getName(){
      return name;
     }
     ......
    }
    共用体(联合体):
    union data
    {
     char ch;
     short n;
     int m;
    }value;
    (类似于CS和js中的var,以及Java中的Object的作用)


    (2)没有指针。(对象的引用)
    C++:
    int i=40;
    int *p=&i;
    *p==40;
    p==&i;
    既然Java中没有指针,是不是在C++中用指针处理的问题在Java中就处理不了了呢?

    当然不是
    在C++中数组实质就是指针的一个应用,将指针隐藏于数组的内部的一个应用,只不过它的地址是连续变化的
    而在Java中对指针的处理中,提供了一很多就类似于数组的处理方式的集合类来处理此类问题。
    (3)没有多继承。(接口interface)
    C++:class A:[public,private] B,[...] C,...
    Java: class A extends B implements B,C,...
    (4)解释执行。

    语法:
    1.Java中有而C++中没有:byte(8bit)
    2.布尔类型:C++中bool, Java中boolean
    3.常量:C++用const, Java用final
    4.输出函数:C++用cout/printf,Java用System.out.println


     

  • 相关阅读:
    C#运行Javascript脚本Utility
    SQL Mail XPs Options
    TSQL AVG Functions
    eclipse编译时过滤SVN版本控制信息方法(转)
    追MM与设计模式
    android的性能调优
    对象的赋值和复制(转)
    SVN Working Copy xxx locked and cleanup failed
    HTTP协议详解(转)
    atoi和itoa函数的实现
  • 原文地址:https://www.cnblogs.com/mingforyou/p/2281037.html
Copyright © 2020-2023  润新知