面向对象有三大特性:封装,继承,多态

多态则需要满足三大条件1要有继承2要有重写3父类引用子类对象

很多人对方法的重载重写有很大疑问,下面我来介绍一下方法的重载重写

方法重载就是方法名称重复,加载参数不同

满足的条件:

一.方法名一定要相同。
二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。
1.如果参数个数不同,就不管它的参数类型了!
2.如果参数个数相同,那么参数的类型必须不同。
三.方法的返回类型、修饰符可以相同,也可不同。
class MethodOverloading {
 
    void receive(int i) {
        System.out.println("Received one int data");
        System.out.println("i="+i);
    }
     
    void receive(float f) {
        System.out.println("Received one float data");
        System.out.println("f="+f);
    }
     
    void receive(String s) {
        System.out.println("Received a String");
        System.out.println("s="+s);
    }
     
    public static void main(String [] args){
        MethodOverloading m = new MethodOverloading();
        m.receive(3456);
        m.receive(34.56f);
        m.receive("方法重载");
    }
}
那么什么是方法的重写呢
方法的重写又称为覆盖方法
是子类对父类定义方法的逻辑进行修改

public class Wine {
public void fun1(){
System.out.println("Wine 的Fun.....");
fun2();
}

public void fun2(){
System.out.println("Wine 的Fun2...");
}
}

public class JNC extends Wine{
/**
* @desc 子类重载父类方法
* 父类中不存在该方法,向上转型后,父类是不能引用该方法的
* @param a
* @return void
*/
public void fun1(String a){
System.out.println("JNC 的 Fun1...");
fun2();
}

/**
* 子类重写父类方法
* 指向子类的父类引用调用fun2时,必定是调用该方法
*/
public void fun2(){
System.out.println("JNC 的Fun2...");
}
public static void main(String[] args) {
Wine a = new JNC();
a.fun1();
}
}

java 方法的重载重写的更多相关文章

  1. java方法的重载

    java方法的重载 public class Person1 {    private String name; //姓名    private int age;      //年龄    priva ...

  2. Java方法之重载

    Java方法之重载 本篇探究Java中的方法重载.那么,什么是重载呢?先上一串代码: package com.my.pac06; /** * @author Summerday * @date 201 ...

  3. JAVA方法的重载(overload)和覆盖(override)

    方法的重载(overload)和覆盖(override) 有的时候,类的同一种功能有多种实现方式,到底采用哪种实现方式,取决于调用者给定的参数.例如我们最常用的System.out.println() ...

  4. java方法重写规则 重载

    方法的重写规则 参数列表必须完全与被重写方法的相同: 返回类型必须完全与被重写方法的返回类型相同: 访问权限不能比父类中被重写的方法的访问权限更低.例如:如果父类的一个方法被声明为public,那么在 ...

  5. Java 方法的重载及引用数据类型(类)

    方法的重载 我们假设要在程序中实现一个对数字求和的方法,由于参与求和数字的个数和类型都不确定,因此要针对不同的情况去设计不同的方法. Java允许在一个类中定义多个名称相同的方法,但是参数的类型或个数 ...

  6. 详解java方法的重载

    1.方法的重载: 方法名相同,参数列表不同就叫做方法的重载.

  7. java 方法的重载

    方法的重载:一个类中允许出现一个以上的同名方法,必须保证同名方法的参数列表不同    好处:方便阅读,优化程序设计    重载规则:重载方法名相同,但每个重载方法都必须有一个独一无二的参数类型列表,方 ...

  8. Java基础---Java方法的重载Overload

    对于功能类似的方法来说,因为参数列表不一样,却需要记住那么多不同的方法名称,太麻烦. 方法的重载(Overload):多个方法的名称一样,但是参数列表不一样.好处:只需要记住唯一一个方法名称,就可以实 ...

  9. Java方法的重载和重写

    重载与重写对比:  重载: 权限修饰符(public private 默认):无关 方法名:重载的两个方法的方法名必须相同 形参的个数不同 形参的类型不同 三者至少满足一个 返回值类型: 重载与返回值 ...

随机推荐

  1. IIS7发布asp.net mvc提示404

    之前服务器用的都是2003Server的服务器,发布mvc项目都没问题,今天换了一台机器,系统为Windows Server2008 R2  64位的发布mvc项目后就提示: 百度看到好多人说在web ...

  2. sklearn学习小结

    机器学习的一般流程: 1.获取数据 2.数据预处理 3.数据集分拆 4.搭建模型 5.模型评估 6.模型保存 7.模型优化 接下来,以Sklearn为例,一一介绍. 1.获取数据 1.1.导入数据集: ...

  3. 终极之战:Linux & Windows

    1.开源 当你买了一辆车,但你看不到引擎盖下面是什么?当你使用Windows驱动系统时就是如此.但是,相比之下,Linux完全是一个开源项目.你可以看看Linux操作系统的源代码,这是一个优点.Lin ...

  4. 白盒测试之JUnit与SpringTest的完美结合

    通过白盒的单元测试可以验证程序基本功能的有效性,从而保证整个系统的质量,功在一时,利在千秋.目前80%以上公司后台还是基于java,尤其是后台大量采用Spring框架,我们这里采用Junit和Spri ...

  5. (转)shell中括号的特殊用法 linux if多条件判断

    一.   bash [  ] 单双括号 基本要素: Ø  [ ] 两个符号左右都要有空格分隔 Ø  内部操作符与操作变量之间要有空格:如  [  “a”  =  “b”  ] Ø  字符串比较中,&g ...

  6. Efficient Estimation of Word Representations in Vector Space (2013)论文要点

    论文链接:https://arxiv.org/pdf/1301.3781.pdf 参考: A Neural Probabilistic Language Model (2003)论文要点  https ...

  7. Flow-based model

    文章1:  NICE: NON-LINEAR INDEPENDENT COMPONENTS ESTIMATION 文章2:Real-valued Non-Volume Preserving (Real ...

  8. Adaptive Synchronization of Dynamics on Evolving Complex Networks

    原文链接:https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.100.114101 发表在:PRL 2008 ------------- ...

  9. Mongodb的锁 原子性 隔离性 一致性

    读写锁 Mongodb使用读写锁来来控制并发操作: 当进行读操作的时候会加读锁,这个时候其他读操作可以也获得读锁.但是不能或者写锁. 当进行写操作的时候会加写锁,这个时候不能进行其他的读操作和写操作. ...

  10. excel匹配相应条件 自动填充数据

    =VLOOKUP(A6&B6,IF({1,0},Sheet3!$A$3:$A$505&Sheet3!$B$3:$C$505,Sheet3!$Q$3:$Q$505),2,0) =VLOO ...