首先我们现在开始进入Jakarta的时代,由原甲骨文易主到 Eclipse基金会下,但是不想舍弃java名字,因此基金会重新投票选出了Jakarta EE(雅加达)。但是我们明白换汤汤不换药的道理,基础是不变的因此重新温习。

温习概念

  override:重写(=覆盖)-->一般在子类继承父类时,为了实现不同的功能,重写父类的方法。子类重写的方法与父类对应的方法的名称、返回类型、参数一样,存在垂直的关系。

overload:重载-->同一个类中方法之间的关系,这些方法的名称相同但是参数形式不同,因此存在水平的关系。重载是根据调用的时参表和形参表、参数顺序(参数类型不同)来选择方法。简单说就是:方法重载就是类的同一种功能的多种实现方式,到底采用哪一种方式,取决于调用者给出的参数。

规则

重载的规则:

    1.方法名必须一样,参数形式不同(参数的类型、个数、顺序至少有一项是不同)。

 package bank;

 /**
* Created by zjc on 2018/3/8.
*/
public class overload
{
public float getCount(){
return 0;
}
public int getCount(int a,int b){
return a+b;
}
public float getCount(float a, float b){
return a+b;
}
public float getCount(double c,float d){
return (float)c+d;
}
private float getCount(float d,double c){
return (float)c+d;
}
public static void main(String[] args) {
overload o = new overload();
System.out.println( o.getCount(2.3f,2.4f));
}
}

     ↑在此规则下:方法返回类型可以不同,方法的修饰符可以不同。

     其中参数类型相同时,参数顺序前后没区别,不能构成重载。

     

    2.不能通过访问权限、返回值类型、抛出异常进行重载(在1规则不符合的情况下);

     2.1如果只是返回类型不一样:不能够构成重载。

     

       2.2如果只是控制访问修饰符不一样:不能够构成重载。

     

    3.方法的异常类型、数目不会对重载造成影响;

  重写的规则

    1.重写(子类)与被重写(父类)方法的返回类型、参数、方法名称要一模一样,否则会编译出错。

 /**
* Created by zjc on 2018/3/8.
*/
public class override {
public static void main(String[] args) {
//创建一只猫
Cat cat = new Cat();
cat.cry();
Dog dog = new Dog();
dog.cry();
}
}
class Animal{
int age;
String name; public void cry(){
System.out.println("我是动物,不知道怎么叫!");
}
}
//加菲猫
class Cat extends Animal{
//覆盖父类
public void cry(){
System.out.println("喵喵叫!");
}
}
//眼镜狗
class Dog extends Animal{
//覆盖父类
public void cry(){
System.out.println("旺旺叫!");
}
}

    2.重写(子类)不能缩小被重写(父类)方法的访问权限(public > protected > default > private)。

       

     父类private 子类public这样可以重写

       

    3.重写(子类)与被重写(父类)方法的抛出的异常要一致,或者是其子类。

    4.被重写(父类)方法不能为private,否则子类只能定义新方法,不能进行重写。

    5.静态方法不能被重写为非静态的方法(编译出错)。

漫漫人生路,学点Jakarta基础-重写(覆盖)、重载的更多相关文章

  1. 漫漫人生路-学点Jakarta基础-Java8新特性 Stream/Lambda

    背景 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利.高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk dat ...

  2. 漫漫人生路,学点Jakarta基础-Java8函数式编程

    接口默认方法 Java8版本以后新增了接口的默认方法,不仅仅只能包含抽象方法,接口也可以包含若干个实例方法.在接口内定义实例方法(但是注意需要使用default关键字) 在此定义的方法并非抽象方法,而 ...

  3. 慢慢人生路,学点Jakarta基础-JavaDoc标记

    本文对使用Maven工程构建Jenkinsjob时遇到的问题进行一下分析汇总. JavaDoc标记使用问题 一般Maven项目都有配置产生Java DOC,但是在Jenkins里面产生DOC会有一些严 ...

  4. 慢慢人生路,学点Jakarta基础-集合类

    动态改变内存 因为数组在存储之前需要先申请一块连续的内存空间并且在编译的收就必须确定好它的空间大小,在运行时控件的大小无法再随着需求的改变而改变,极易出现越界的情况,数据少时又会造成内存空间浪费. 主 ...

  5. 慢慢人生路,学点Jakarta基础-深入剖析Java的接口和抽象类

    在java面向对象编程的,抽象类和接口始终存在有疑问的地方,因为两者太多相似有太多不同,在刚开始学习的时候经常弄的不对,使用情景搞混,今天来总结之前学习Java中接口和抽象类的问题. 抽象类 了解:只 ...

  6. Java基础--重写(Overriding,覆盖)-重载(Overloading)

    多态性: Java的方法重载,就是在类中可以创建多个方法,它们具有相同的名字,但具有不同的参数和不同的定义.调用方法时通过传递给它们的不同参数个数和参数类型来决定具体使用哪个方法 Java的方法重写, ...

  7. 重载(overload)、重写:覆盖(override)、重定义:遮蔽(redefine)、多态

    同一域名空间,函数名相同,签名不同 编译期绑定确定绑定函数,也称为静态多态 重写:覆盖(override) 虚函数 子类空间,函数名相同,签名相同 重定义:遮蔽(redefine) 非虚函数,子类成员 ...

  8. Java基础练习3(重载和重写)

    1.(多选题)给定java代码如下所示,在1处新增下列()方法,是对show()方法的重载 public class Test{ public void show(int x, int y, int ...

  9. JavaSE基础知识(5)—面向对象(方法的重写与重载)

    一.重写 1.说明 子类对继承过来的父类的方法进行改造,这种现象称为方法的重写或覆盖或覆写(Override) 2.要求 方法签名完全一致,jdk5.0之后,允许返回类型可以是子类类型,权限修饰符可以 ...

随机推荐

  1. 在CentOS 6.x上配合Windows客户端搭建 git(gitosis)服务器

    一.在 CentOS 上安装 git 和 gitosis: 逐条执行如下语句: sudo yum install git python-setuptools cd /opt sudo git clon ...

  2. php实现的短网址算法分享

    这篇文章主要介绍了php实现的短网址算法,理论上支持1,073,741,824个短网址,个人使用足够了,需要的朋友可以参考下 每个网址用6个字符代替,(6^32) 最多可以拥有1,073,741,82 ...

  3. Mysql字符串截取总结:left()、right()、substring()、substring_index()

    同步首发:http://www.yuanrengu.com/index.php/20171226.html 在实际的项目开发中有时会有对数据库某字段截取部分的需求,这种场景有时直接通过数据库操作来实现 ...

  4. Linux目录结构及作用

    /:根目录 /bin:存放基础系统所需的最基础的命令(程序) binary 比如:ls.cp.mkdir等 功能和/usr/bin类似,这个目录中的文件都是可执行的,普通用户都可以使用的命令   /b ...

  5. iOS微信内存监控

    WeTest 导读 目前iOS主流的内存监控工具是Instruments的Allocations,但只能用于开发阶段.本文介绍如何实现离线化的内存监控工具,用于App上线后发现内存问题. FOOM(F ...

  6. Java 到底是值传递还是引用传递

    作者:Intopass链接:https://www.zhihu.com/question/31203609/answer/50992895来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业 ...

  7. nyoj940 A dp problem 打表

    首先枚举i,那么构成i^2的最小值为1个正方形,当然1~1000并不会都得到答案,那么剩下的数字就递增枚举这些数,这个数可能右多对数构成,则枚举这些数.例如 5 = 1 + 4, 5 = 2 + 3, ...

  8. Luogu P1757 通天之分组背包

    题目背景 直达通天路·小A历险记第二篇 题目描述 自01背包问世之后,小A对此深感兴趣.一天,小A去远游,却发现他的背包不同于01背包,他的物品大致可分为k组,每组中的物品相互冲突,现在,他想知道最大 ...

  9. Storm日志分析调研及其实时架构

    1.Storm第一个Demo 2.Windows下基于eclipse的Storm应用开发与调试 3.Storm实例+mysql数据库保存 4.Storm原理介绍 5. flume+kafka+stor ...

  10. 安装VMware Workstation提示the msi failed的解决办法

    有朋友安装VMware Workstation时出现报错,提示the msi failed等信息,原来他以前安装过绿色版.优化版的VM,但删掉后重装VM就会有这样的报错提示,如果你也遇到了相同的困扰, ...