【Java语法与C语言的区别】一

【Java语法与C语言的区别】

 

一、数据类型和申明

1. 标识符

Java: 可以以美元作为开头

例如:$var

2. java没有sizeof 运算符,所有数据类型的长度都是固定的,与平台无关

3. 常量定义方法

final double PI=3.14;

4. java数据类型 byte   1个字节

         short,char   2个字节

         int,float      4个字节

        long ,double   8个字节

 boolean值只有false 和true ,不能和数字互换

5.  java中新增的<<<, >>>无符号左移右移,意思是进行高位加0; 

6.  java数组的申明:

例如:int[] a1;  //或者 int a1[];

a1=new int[3];

以上两句等同于:

int a1=new int[3];

也可以直接初始化

int a1[]={1,2,3};

 

二、java中的类与c++中的类比较

1. java中的类在申明时,可以用关键字public ,private, protected修饰,作用相当于C++中在申明继承类时候的继承方式。 

2.  abstract 抽象类,抽象类(不能实例化)和抽象方法,类似于C++ virtual。

3.  java中有静态代码块,是在类中使用,不能定义在方法中,在类加载的时候执行,可以先于main()方法。

4. final关键字,类似于constfinal修饰的类,不能被继承,修饰的成员,值不能被更改,方法不能被继承类覆盖。 

5. finalize 修饰方法,类似于c++析构函数。 

6.父类与子类对象之间的关系,一个父类对象可以指向多种子类,运行时自动选择正确的方法进行调用,叫动态绑定。注意,当把父类对象指向了子类,调用子类的方法时,就会出现错误。C++中,通过指向对象的指针可实现这种多态的功能。

7. super关键字直接父类的对象。例如在创建子类对象时,子类的构造函数中,需要给父类的私有成员数据赋值,则可以通过super(),即调用父类的构造函数来实现。C++中无。

8. java中多重继承是通过接口实现的,类只能实现单一继承。接口中的方法都是抽象方法,没有具体实现。

接口的访问控制符,只有public一个,表示可以被所有的类和接口使用,如果没有此修饰符,只能被同一个包中的其他类和接口使用。

 

你可能感兴趣的:(java)