C++与JAVA的不同之处

来源:互联网 发布:104cm肛塞淘宝 编辑:程序博客网 时间:2024/04/20 20:42

大一一年学了C++,寒假看head First Java,在此把与C++显著不同的知识点整理出来。初学JAVA,如有不对欢迎指出。

1.JAVA文件格式是.java,编译后是.class。c++是.cpp,.h。

2.条件判断中,只能用布尔型boolean,不能用数字。即while(1)是错误的。

3.System.out.print("Hello World!")  不输出换行

  System.out.printIn("Hello World!")  多输出换行

4.在Java的面向对象概念中并没有全局变量这回事。任何变量只要加上public,static,final,基本上都会变成全局变量取用的常数。

5.float f=3.2f,加上f才是浮点数,否则所有带小数点的值都会被编译器会当做double处理。

6.JAVA不会自动类型转换,如有需要必须进行强制装换。如int a; double b=3.2;  a=b;是错的   必须写成 a=(int)b;

7.dog a=new dog();   在JAVA中没有指针,会返回给a一个引用变量。不同的JAVA虚拟机a的大小也是不同的。并且不能进行运算。而在c++中指针可以进行加减。

8.dog[] dogs; dogs=new dog[7];  此时dogs[0],dogs[1]...中只有dog的引用变量,但没有对象。还需要单独new 对象。dogs[0]=new dog; 这点与C++也不同。

9.class Dog{

      private int size;

      private String name;   //这里的变量,即实例变量会有初始值,数字为0,布尔型为false,对象引用为null,所以不初始化也可以。

      public int Text(){

            int a;   //但这里的局部变量必须初始化,不初始化编译器会报错。

            }

}

10.使用==来比较两个primitive主数据类型(即int,doule那些)或者判断两个引用是否引用同一个对象。使用equals()来判断两个对象是否在意义(现在还不了解这里说的意义是什么意思)上相等。

11.java.util.ArryList   java.util 是包名,ArryList是类名。使用时某个类时必须写全类名或者开头加上import java.util.ArryList.类似于C++中的命名空间using namespace std; 可以防止类名重复。但和#include“” 不一样,import不会增加文件的大小。java.lang 不用import,默认导入了,里面有常用的类例如Math

12. 这个方法是继承父类的

   public void roam(){   

       super.roam();     会先调用父类的此方法

     //  my own code

}

13.final 修饰符表示此类不能或方法不能再被继承

 14.   Java中所有的类的继承于Object,引用变量是什么类型,就只能用什么类型的方法,比如,Object a=new dog();则a.eat(),是错误的。

15.接口可以看做是用来解决JAVA不能多重继承问题的。接口中的方法全部是抽象方法,子类需要全部实现,

  接口的定义:public interface Pet{  public abstract void play();  }

 接口的实现:public class Dog extends  Canine implements Pets{   }

16.局部变量在栈上,实例变量和对象在堆上。如果引用当对象没有对应的引用变量时,垃圾回收器便可以销毁对象。


0 0