美文网首页
方法重载和重写

方法重载和重写

作者: 998584f56259 | 来源:发表于2016-08-18 16:40 被阅读16次

1、重载:方法名相同而形式参数不同。

/**
 * 方法重载:首先来看一个方法的构成:访问权限修饰符+其他修饰符(static、final等)+返回值类型+方法名+参数列表
 * 在一个类中,区别一个方法的要素为方法名+参数列表,这两个要素构成方法的方法签名
 */

重载是一个类中多态性的一种表现,实例如下所示。

class MyOverload{

public void site(){
    System.out.println("0");
}

public void site(int i,int c){
    System.out.println("1");
}

public void site(int j,long t){
    System.out.println("2");
}

public void site(long j,int t){
    System.out.println("3");
}
}

2、重写:不改写方法签名而改写方法的实现逻辑。

  • 在子类中可以根据需要对从基类中继承来的方法进行重写。
  • 重写的方法和被重写的方法必须具有相同方法名称、参数列表和返回类型。
  • 重写方法不能使用比被重写的方法更严格的访问权限。
class Person{
private int age;
private String name;

public void setAge(int age){
    this.age = age;
}
public void setName(String name){
    this.name = name;
}
public int getAge(){
    return age;
}
public String getName(){
    return name;
}

public String getInfo(){
    return "Name is:"+name+",Age is "+age;
}
}
class Student extends Person{
private String school;

public void setSchool(String school){
    this.school = school;
}
public String getSchool(){
    return school;
}
/**
 * 这个是重写父类的方法
 * 就是不改变方法的签名,改写方法内的具体实现
 */
public String getInfo(){
    return "Name is:"+getName()+",Age is "+getAge()+",School is:"+school;
}
}
public class TestOverRide{
public static void main (String args[]){
    Student student = new Student();
    Person person = new Person();
    person.setAge(1000);
    person.setName("lili");
    
    student.setAge(23);
    student.setName("leilei");
    student.setSchool("hunandaxue");
    
    System.out.println(person.getInfo());
    System.out.println(student.getInfo());
}
}

相关文章

  • 方法重载与方法重写(@Overload @Override)

    java方法重载和方法重写(方法覆盖)的区别: 方法重载: Overload 方法重写: Override 批判,...

  • 5.Java重载和重写的区别

    Java 方法重载和方法重写的区别有哪些? 解析:先明白重载和重写的定义。 一、方法重写(0verride) 在J...

  • JVM方法调用

    方法重载和方法重写多态是面向对象程序设计的重要特性,方法重载和方法重写是Java语言实现多态的主要形式。方法重载指...

  • 面向对象的基本原则

    基本要素: 封装 , 继承 , 多态 多态 : 注意重写和重载 重写: 子类重写父类的方法 重载: 同样的方法名 ...

  • 方法的重写(override/overwrite)

    方法的重载和重写

  • java学习笔记

    1.方法重载和重写 方法重写与方法重载的区别 2.访问修饰符 访问权限 类 包 子类 其他包 ...

  • JAVA方法重载与方法重写辨析

    一、重载(overload)和重写(override)的区别?重载的方法能否根据返回类型进行区分? 方法的重载和重...

  • 02.Java面向对象问题

    目录介绍 2.0.0.1 重载和重写的区别?重载和重写绑定机制有何区别?父类的静态方法能否被子类重写? 2.0.0...

  • Java面试题

    1、重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分? 答:方法的重载...

  • java面试题

    重载和重写 引用深入理解Java中的重写和重载 重写的条件 参数列表必须完全与被重写方法的相同;返回类型必须完全与...

网友评论

      本文标题:方法重载和重写

      本文链接:https://www.haomeiwen.com/subject/ybyvsttx.html