Java与C++的有关类继承、重载、多太主要区别是什么?

如题所述

  1、重载:java 并没有像C++那样提供“运算符重载”功能,因此java里用“==”判断字符串相等不再实用(此时的“==”只是表示位置的相同, 虽然位置相同的字符串一定相同,但是值相同的字符串未必在同一位置),此时需要用方法equals(String str)。
  Java不支持操作符重载。操作符重载被认为是C++的突出特征,在Java中虽然类大体上可以实现这样的功能,但操作符重载的方便性仍然丢失了不少。Java语言不支持操作符重载是为了保持Java语言尽可能简单。

  2、继承
  C++支持“多重继承”,这是C++的一个特征,它允许多父类派生一个类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。Java不支持多重继承,但允许一个类继承多个接口(extends+implement),实现了C++多重继承的功能,又避免了C++中的多重继承实现方式带来的诸多不便。
  简单来说,引用一个知友说的:“C++可以多继承,java只能单继承。但是java通过可以实现多接口,来变相实现了多继承。”
  3、多态性
   一般在多态性上,都没什么区别,硬要找的话:
JAVA的多态性是通过:
  1 接口和实现接口并覆盖接口中同一方法的几不同的类体现的
  2 父类和继承父类并覆盖父类中同一方法的几个不同子类实现的.
C++的多态性是:
  多态性在C++中是通过虚函数来实现的,虚函数允许子类重新定义成员函数,而子类重新定义父类的做法称为覆盖(override),或者称为重写。

硬要找异同点,那太多了
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-12-22
java在C++的基础上简化了很多,所以java在这方面的使用,没有多少需要注意的,主要是C++,
既然要学C++,那么C++一些在使用时的语法规则应该要好好弄清楚,那么就主要给你说说需要特别注意的一些地方。
1,重载:java按着重载规则使用就行了;然而C++有个常函数,所以即便有同参数列表的一般函数,它也是一种重载版本。
2,继承:C++可以多继承,如果父类之间有相同成员函数,那么子类对象在调用此函数时就会产生两义性,所以使用时就要加上成员名限定。java与C++一样,在创建子类对象时都会默认调用父类无参构造函数,如果要自己在子类构造函数里显示调用,它们有区别的,java可以直接在构造函数体里使用关键字super(**)调用,而C++显示调用父类构造函数时是在初始化列表里调用,即Son(**):Father(**){**}。
3,多态性:就是父类指针指向子类对象时体现。如果要重写父类函数,那么父类函数必须是虚函数(声明为virtual的函数),倘若不声明为虚函数,那么子类只是隐藏了父类同名函数包括父类的重载函数,此时父类的析构函数也应一并声明为虚析构函数,假如不这样,你在delete父类指针指向子类对象的指针时,系统只会析构掉父类的对象而不能正确的析构掉子类的对象。java的抽象类由abstract关键字定义;C++是将虚函数赋为0,即virtual void func(**)=0的形式,只要一个类里有这样的函数声明那么这个类就是抽象类。

c++里的类的继承和多态与Java里的继承和多态的区别是?
1.继承:c++支持多重继承,这是c++的一个特征,它允许多父类派生一个类。尽管多重继承功能很强,但使用复杂,而且会引起许多麻烦,编译程序实现它也很不容易。java不支持多继承,而有可能某个类或对象使用分别在几个类或对象里面的方法或属性,现有的单继承机制就不能满足要求。与继承相比,接口有更高...

java继承和多态的区别
java继承和多态的区别如下:继承是面向对象最显著的一个特性。继承是从已有的类中派生出新的类,新的类能吸收已有类的数据属性和行为,并能扩展新的能力。Java继承是使用已存在的类的定义作为基础建立新类的技术,新类的定义可以增加新的数据或新的功能,也可以用父类的功能,但不能选择性地继承父类。

C++和JAVA语言有的相同点和不同点
1>C++语言支持运算符重载;Java不支持运算符重载。2>C++语言支持预处理;Java没有预处理器,虽然不支持与处理功能(包括头文件、宏定义等),但它提供的import机制与C++的预处理器功能类似。3>C++支持默认函数参数;Java不支持默认函数参数。4>C\/C++支持goto语句;Java不提供goto语句,但Java中的goto是...

JAVA与C++的区别详解
JAVA与C++的相似点多于不同点,但两者之间的主要区别使得JAVA更容易学习,且编程环境更为简单。例如,JAVA禁止直接访问内存,通过自动的内存管理功能有效防止了C\/C++语言中的指针操作失误,减少了系统崩溃的风险。而C++则支持多重继承,但实现复杂且容易引起问题。JAVA不支持多重继承,但允许一个类继承多个...

Java和C++,综合来讲哪个更好
说到Java和C++,Java并不仅仅是C++语言的一个变种,我们先来说一说它们的区别:(1)Java比C++程序可靠性更高。有人曾估计每50行C++程序中至少有一个BUG.姑且不去讨论这个数字是否夸张,但是任何一个C++程序员都不得不承认C++语言在提供强大的功能的同时也提高了程序含BUG的可能性。Java语言通过改变...

JAVA重载与多态的的区别是什么?
重载 函数名相同 参数个数不同。多态,多个子类用不同的代码覆盖同样父类的同一个方法。当多种子类的实例赋给父类引用时,当调用多个这个父类引用的方法时,看名字是同一个方法,执行的代码确实多种多样的这就叫多态。其实要理解OO的概念实质,最好的方式是学C++。

c++语言与java语言的区别有哪些?
1. 多重继承:C++支持多重继承,这使得C++在继承和多态性方面具有一定的优势。然而,Java不支持多重继承,而是引入了接口的概念,可以实现类似的目的。2. 运算符重载:C++允许对运算符进行重载,使程序具有更高的灵活性和可读性。Java不支持运算符重载。3. 预处理:C++包含预处理器,如头文件和宏定义...

c++和java的区别和就业前景分析
c++和java的区别 java与c++相比,具有更多内置安全功能,能有效防止边界错误和缓冲区溢出等错误。java程序在JVM中运行,其安全性更高且可靠性更强。c++操作权限较高,编程时需注意细节。因此,java因其JVM的存在,安全性和稳定性更高。在继承机制上,c++支持多重继承,这一特性强大但也带来复杂性和问题...

C++和JAVA得区别?
一、主体不同 1、C++:是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计。2、JAVA:是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念。二、特点不同 1、C++:不仅拥有计算机高效运行的实用性...

JAVA和C++有什么区别?
(2)Java语言不需要程序对内存进行分配和回收。Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,在Java语言中,内存的分配和回收都是自动进行的,程序员无须考虑内存碎片的问题。(3)Java...

相似回答
大家正在搜