由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - JAVA和C++语言在各个层面上的区别与联系
相关主题
JAVA和C++语言在各个层面上的区别与联系 (转载)question about const reference
c++指针的问题C++ interview question
看了那么多评论问个c++问题
原来这个版是转行 CS 的C++ storage classes and qualifiers
[新手]一直都把C++当Java写,有啥严重不妥?从今天开始起,学C++!
用C设计Stack的interface,要求支持各种数据类型。 (转载)弱问C++一个问题 一直不解
对 (im)mutability 的误解和深度理解码工不知亡国恨,隔江犹唱C#颂
Atomic operation 与 多重指针Python Q: function pass in struct pointer, come back with data filled
相关话题的讨论汇总
话题: java话题: c++话题: 指针话题: 继承话题: 多重
进入Programming版参与讨论
1 (共1页)
t**********g
发帖数: 3388
1
我在这里列出比较显著的区别:
1.指针
JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功
能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃。但也
不是说JAVA没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于
Java程序的安全。
2.多重继承
c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重继承功能
很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。Java不支持多
重继承,但允许一个类继承多个接口(extends+implement),实现了c++多重继承的功能
,又避免了c++中的多重继承实现方式带来的诸多不便。
3.数据类型及类
Java是完全面向对象的语言,所有函数和变量部必须是类的一部分。除了基本数据类型
之外,其余的都作为类对象,包括数组。对象将数据和方法结合起来,把它们封装在类
中,这样每个对象都可实现自己的特点和行为。而c++允许将函数和变量定义为全局的
。此外,Java中取消了c/c++中的结构和联合,消除了不必要的麻烦。
4.自动内存管理
Java程
c*****t
发帖数: 1879
2

This is a stretch.
The advantage for Java is
1. immutable string objects
2. built-in Unicode
In contrast, in C++, you have several distinct types of string, some
are mutable, some are not. They are not inter-operable either.
Java does have break for breaking out of loops (two or more
levels). However, it is a bit unintuitive. Fortunately it is a rare
use. For example:
out:
for (;;)
for (;;)
break out;
Java has finally keyword, which is distinctive. (Pytho

【在 t**********g 的大作中提到】
: 我在这里列出比较显著的区别:
: 1.指针
: JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功
: 能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃。但也
: 不是说JAVA没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于
: Java程序的安全。
: 2.多重继承
: c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重继承功能
: 很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。Java不支持多
: 重继承,但允许一个类继承多个接口(extends+implement),实现了c++多重继承的功能

W******H
发帖数: 30
3
C++ also has try, catch, and throw statements
for exception handling.
I don't see the difference just from the keywords.

【在 t**********g 的大作中提到】
: 我在这里列出比较显著的区别:
: 1.指针
: JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功
: 能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃。但也
: 不是说JAVA没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于
: Java程序的安全。
: 2.多重继承
: c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重继承功能
: 很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。Java不支持多
: 重继承,但允许一个类继承多个接口(extends+implement),实现了c++多重继承的功能

T*****e
发帖数: 40
4
Seems C# has all the characteristics that Java has listed in the following.

【在 t**********g 的大作中提到】
: 我在这里列出比较显著的区别:
: 1.指针
: JAVA语言让编程者无法找到指针来直接访问内存无指针,并且增添了自动的内存管理功
: 能,从而有效地防止了c/c++语言中指针操作失误,如野指针所造成的系统崩溃。但也
: 不是说JAVA没有指针,虚拟机内部还是使用了指针,只是外人不得使用而已。这有利于
: Java程序的安全。
: 2.多重继承
: c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重继承功能
: 很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。Java不支持多
: 重继承,但允许一个类继承多个接口(extends+implement),实现了c++多重继承的功能

c*****t
发帖数: 1879
5
Because C# is a virtual clone of Java (except delegate vs java inner class)

.

【在 T*****e 的大作中提到】
: Seems C# has all the characteristics that Java has listed in the following.
1 (共1页)
进入Programming版参与讨论
相关主题
Python Q: function pass in struct pointer, come back with data filled[新手]一直都把C++当Java写,有啥严重不妥?
也谈OOP跟FP之争用C设计Stack的interface,要求支持各种数据类型。 (转载)
OOP里面的Object其实是actor对 (im)mutability 的误解和深度理解
函数式语言是不是特别费系统资源?Atomic operation 与 多重指针
JAVA和C++语言在各个层面上的区别与联系 (转载)question about const reference
c++指针的问题C++ interview question
看了那么多评论问个c++问题
原来这个版是转行 CS 的C++ storage classes and qualifiers
相关话题的讨论汇总
话题: java话题: c++话题: 指针话题: 继承话题: 多重