C++中的重载隐藏覆盖&&JAVA中的重载覆盖&&多态
class 类继承默认是private,
struct 默认继承是public
C++中的隐藏:
只要派生类中出现和基类一样的函数名,基类中的函数就会被派生类中的函数给隐藏(如果派生类和基类中的函数名,函数参数列表一样,并且基类函数前面有virtual,那么此种情况是重写)
eg:
class A
{
public:
void play(int x, int y){
cout <<"in class A"<< x <<" "<< y << endl;
}
};
class B : public A
{
public:
void play(int x)
{
cout <<"in class B"<< x << endl;
}
};
int main()
{
B b;
b.play(2,1);
return 0;
}
因为派生类中隐藏了基类中的两个参数列表的play,所以main中的写法是通不过编译的
C++中的重写(覆盖):
基类函数有virtual,派生类和基类函数名字,参数列表一样
C++重载:
在同一个类中,函数名相同,参数列表不同
JAVA中的重载:
方法名相同,参数列表不一样,返回类型可以不同,不能只改变返回类型
JAVA中的重写:
方法名相同,参数列表一样,不能降低方法的方法的存取权限
java中没有隐藏
多态:
基类引用 = 派生类对象
BASE A=NEW DERIVED();
A.PLAY();
JAVA中的多态,基类没有virtual函数
JAVA 中,派生类的权限不能低于基类,派生类不能抛出比基类更多的异常
多态还有参数,返回类型
C++中的重载隐藏覆盖&&JAVA中的重载覆盖&&多态的更多相关文章
- .NET和JAVA中BYTE的区别以及JAVA中“DES/CBC/PKCS5PADDING” 加密解密在.NET中的实现
场景:java 作为客户端调用已有的一个.net写的server的webservice,输入string,返回字节数组. 问题:返回的值不是自己想要的,跟.net客户端直接调用总是有差距 分析:平台不 ...
- c#中的里氏转换和Java中强制类型转换在多态中的应用
在c#中: 注意: 子类并没有继承父类的构造函数,而是会默认调用父类那个无参数的构造函数. 如果一个子类继承了一个父类,那么这个子类除了可以使用自己的成员外,还可以使用从父类那里继承过来的成员.但是父 ...
- java中接口的简单运用&java中的一些异常(运用myeclipse)
package test;//创建一个名为test的包 public class A4paper implements Paper { public String getSize(){ return& ...
- c语言中数组的定义和java中数组定义的一些区别
感谢原文:https://blog.csdn.net/gzwdz778/article/details/79799408 一维情况下: c中,数组的声明需要给出数组的维数,比如: int arr[5] ...
- netty系列之:不用怀疑,netty中的ByteBuf就是比JAVA中的好用
目录 简介 ByteBuf和ByteBuffer的可扩展性 不同的使用方法 性能上的不同 总结 简介 netty作为一个优秀的的NIO框架,被广泛应用于各种服务器和框架中.同样是NIO,netty所依 ...
- 无线网络覆盖-java中,用Math.sqrt()时,必须要注意小数问题
时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 我们的乐乐同学对于网络可算得上是情有独钟,他有一个计划,那就是用无线网覆盖郑州大学. 现在学校给了他一个机会,因此他要购买 ...
- oracle中自定义type、以及java中传递list到过程中的例子
在java开发过程中有时候为了处理数据的速度更快,会把要处理的数据组装成list,把list作为过程的一个参数,在过程中批量处理,下面就以一个例子做简单的阐述,以此谨记. --药品目录智能审核 --说 ...
- 面试中常见的算法之Java中的递归
1.方法定义中调用方法本身的现象2.递归注意实现 1) 要有出口,否则就是死递归 2) 次数不能太多,否则就内存溢出 3) 构造方法不能递归使用3.递归解决问题的思想和图解: 分解和合并[先分解后合并 ...
- C#中的命名空间namespace与Java中的包package之间的区别
Java 包被用来组织文件或公共类型以避免类型冲突.包结构可以映射到文件系统. System.Security.Cryptography.AsymmetricAlgorithm aa; 可能被替换: ...
随机推荐
- 淘宝美工一站式:淘宝ps高级美工技巧视频教程,HTML代码学习【教程下载
视频免费下载地址:http://www.fu83.cn/thread-243-1-1.html
- SQL——查询考试
一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...
- LinkedList链式集合
LinkedList类是双向列表,列表中的每个节点都包含了对前一个和后一个元素的引用.LinkedList的构造函数如下1. public LinkedList(): ——生成空的链表2. publ ...
- java 27 - 2 反射之 反射的概述以及获取Class文件对象的方式
反射: JAVA语言的反射机制: JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法: 对于任意一个对象,都能够调用它的任意一个方法和属性: 这种动态获取的信息以及动态调 ...
- Oracle Delete inner的方式,级联删除子表的数据方式。
例子1: from table2 b where a.id=b.id) 例子2: rebatepolicy表是主表,rebatepolicyitems是从表,从表有主表的主键,现在对于主表一些条件的数 ...
- 在把webpack作为本地开发依赖安装的时候报错
在把webpack作为本地开发依赖安装的时候报错 Refusing to install webpack as a dependency of itself 原因是package.json里的name ...
- Java手动添加SSL证书
出现错误为 SSLHandshakeException - unable to find valid certification path to requested target 在服务器上找到对应的 ...
- linux可靠信号和非可靠信号测试样例
不可靠信号(在执行自定义函数其间会丢失同类信号) 可靠信号(在执行自定义函数其间不会丢失同类信号) 不可靠信号用一次以后,就恢复其默认处理吗? 至少在ubuntu 12.04上,已经是一次绑定,永远使 ...
- JPA 教程
Entities An entity is a lightweight persistence domain object. Typically an entity represents a tabl ...
- c# 调用win32模拟点击的两种方法
第一种 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; ...