首页
Preview

重写方法与重载方法的区别

覆盖方法:

@override注解是Java的一个默认注解,它表示子类方法正在覆盖其基类方法。

@override注解有两个作用:

  • 如果注释方法实际上没有覆盖任何内容,则它会从编译器中提取警告。
  • 它可以提高源代码的可读性。
class BaseClass {
   public void display() {
      System.out.println("In the base class,test() method");
   }
}
class ChildClass extends BaseClass {
   @Override 
   public void display() {
      System.out.println("In the child class, test() method");
   }
}
// main class
public class OverrideAnnotationTest {
   public static void main(String args[]) {
      System.out.println("@Override Example");
      BaseClass test = new ChildClass();
      test.display();
   }
}

输出:

@Override Example
In the child class, test() method

方法重载:

在同一个类中,方法名称相同但参数不同。

Java中的方法重载是一种允许一个类拥有多个同名方法但参数不同的特性。

示例1:

class Demo
{
  void multiply(int a, int b)
  {
    System.out.printIn("Result is"+(a*b)) ;
  }
  void multiply(int a, int b,int c)
  {
    System.out.printIn("Result is"+(a*b*c));
  }
  public static void main(String[] args)
  {
    Demo obj = new Demo();
    obj.multiply(8,5);   
    obj.multiply(4,6,2);   
  }
}

输出:

Result is 40 
Result is 48.

示例2:

class Sum
{  
static int add(int a, int b)
{
    return a+b;
}  
static double add(double a, double b)
{
    return a+b;
}  
}  
class TestOverloading2
{  
    public static void main(String[] args)
{  
        System.out.println(Sum.add(17,13));  
        System.out.println(Sum.add(10.4,10.6));  
}
}

在这个例子中,我们创建了静态方法,这样我们就不需要创建一个实例来调用方法。

输出:

30
20

版权声明:本文内容由TeHub注册用户自发贡献,版权归原作者所有,TeHub社区不拥有其著作权,亦不承担相应法律责任。 如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

点赞(0)
收藏(0)
阿波
The minute I see you, I want your clothes gone!

评论(0)

添加评论