java学习笔记——java与c++的区别记录

注:本文出自dox-pro.iteye.com,为Dox.Pro原创,转载请注明出处!

在学习java前我就有这样一个疑惑,java之于c++与objective-c有什么样的区别的,在学习的这三天中我少许顿悟,记录一下java与c++的一些区别,方便与我一样刚刚开始学习java的朋友去除一些疑惑和模棱两可。

java与c++的一些区别:

1、java是纯面向对象语言;c++为了与c兼容,保持了面向过程的思想;

2、java中没有(隐藏)指针;c++有指针,而且很重要;

3、java中对于参数传值方式已经限定为对象是引用,基本类型是值传递;c++中参数传值方式需要程序员自己定义,很强大,同时很繁琐;

4、java生成的是运行在虚拟机上的代码,不直接与硬件做交互;c++可以做底层交互;

5、java提供内存回收的功能;c++中申请的空间需要Free或者做其他析构;

java中一些c++中没有的内容和需要注意的地方:

1、java中如果没有指定类的方法和类的成员变量的访问权限就默认是包访问权限;

2、java中没有友元的概念,只有一种包的概念。在同一个包内的各个类之间可以做一些调用,但有些类对外却可能是private的,即不可访问和调用。

对java中类的访问权限做个小总结:

private:类本身可访问;

protected:类本身、子类、包内其他类可访问;

public:类本身、子类、包内其他类、包外其他类可访问;

包访问:类本身、在同一包内的子类、包内其他类可访问;

c++

相关推荐