`

java中的重写与重载

    博客分类:
  • java
阅读更多
方法的重写Overriding和重载Overloading是Java多态性的不同表现。

重写Overriding是父类与子类之间多态性的一种表现,
重载Overloading是一个类中多态性的一种表现。

如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overriding)。子类的对象使用这个方法时,将调用子类中的定义,对它而言,父类中的定义如同被“屏蔽”了。

如果在一个类中定义了多个同名的方法,它们或有不同的参数个数或有不同的参数类型,则称为方法的重载(Overloading)。

注意:Overloaded的方法是可以改变返回值的类型。

重写(Override):
abstract class A {
	   int a=1;
       abstract int method();
}

public class B extends A{
	 int a=3;
     public int method(){
    	return a*a;
     }
}

public class C extends B {
	int b=4;
	public int method()
	{
		return a*b;
	}

}

public class D extends A{
	int r = 5;

	public int method() {
		return (int) Math.PI * r * r;
	}
}

public class Demo {
       public static void main(String []args)
       {
   		A a = new B();
		System.out.println(a.method());//9
		a = new C();
		System.out.println(a.method());//12
		a = new D();
		System.out.println(a.method());//75
		
		B b = new B();
		System.out.println(b.method());//9
		
		C c= new C();
		System.out.println(c.method());//12
		
		D d=new D();
		System.out.println(a.method());//75
		
		C c1=(C) new B();
		System.out.println(c.method());//运行出错
       }
}


重载(Overload):
public claa Overload
{
    public void test()
    {
        System.out.println("无形参方法");
    }
    public void test(String temp)
    {
        System.out.println("有形参方法,形参为" + temp);
    }
    public static void main(String[] args)
    {
       Overload fang = new Overload();
       //下面调用第一个无参数方法
        fang.test();
       //下面调用第二个有参数方法
        fang.test("这个有参数了");
    }
}
分享到:
评论

相关推荐

    Java重写和重载概念及区别梳理

    3. **与访问权限、返回类型无关**:重载与访问权限和返回类型无关,仅依赖于方法的参数列表。 在实际开发中,重写和重载经常结合使用,以实现代码的灵活性和可扩展性。例如,在设计模式中,模板方法模式和策略模式...

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

    JAVA中的方法重写与方法重载区别 JAVA 中的方法重写和方法重载是两个重要的概念,在面向对象程序设计语言中尤为重要。方法重写和方法重载都是多态性的体现,但它们之间有着本质的区别。 方法重写(Override)是指...

    Java重写与重载(区别与用途)

    我根据我的理解来谈谈Java中重写方法与重载方法的区别。  重写  Java 中重写又叫覆盖,主要是指继承(extends)父类或者实现(implements)接口时将父类或者接口中已经存在的方法进行重新定义。重写的方法在父类...

    JAVA重写和重载.pdf

    JAVA重写和重载(Overriding和Overloading) JAVA中有两种不同的多态性表现形式:重写(Overriding)和重载(Overloading)。下面将对这两种形式进行详细的解释。 重载(Overloading) 重载是指在一个类中可以...

    java中的重载和重写的区别

    Java中的重载(Overloading)和重写(Overriding)是面向对象编程中两个重要的概念,它们体现了Java的多态性。多态性是面向对象编程的三大特性之一,另外两个是封装和继承。 首先,让我们详细解释一下方法的重载。重载...

    java中重载与重写

    在Java编程语言中,方法的重载(Overloading)与重写(Overriding)是两个非常重要的...通过对比分析,我们可以更加清晰地理解Java中重载与重写之间的区别及其应用场景。这对于编写高效、可维护的Java代码至关重要。

    Java中重载和重写总结

    Java 中重载和重写总结 Java 中的重载(Overloading)和重写(Overriding)是两个非常重要的概念,它们都是多态性的体现形式。 一、Java 中的重载(Overloading) Java 中的重载是指在同一个类中可以创建多个...

    Java重写重载线程

    ### Java中的方法重载与重写以及线程概念详解 #### 一、方法重载(Overloading) 在Java中,**方法重载**是指在同一个类中定义多个具有相同名称但参数列表不同的方法。这里提到的“参数列表不同”不仅包括参数的...

    重写与重载.png java分析

    重写与重载.png java分析

    Java中方法重写与方法重载的比较.pdf

    而重载与`final`关键字无关。 - **static与非static**:静态方法不能被重写,但可以重载。非静态方法可以重写和重载。 理解并熟练掌握方法重写和方法重载是Java编程中的基本技能,它们对于实现多态、代码复用以及...

    java中重载与重写的区别.pdf

    Java 中重载与重写的区别 Java 中的重载(Overloading)和重写(Overriding)是两个不同的概念,它们都是 Java 语言中实现多态性的手段。 方法重载(Overloading) 方法重载是让类以统一的方式处理不同类型数据的...

    Java的重载和重写

    Java编程语言中的重载(Overloading)和重写(Overriding)是两个关键的概念,它们都是多态性的重要体现,但各自有着不同的含义和规则。 首先,我们来详细了解一下方法的重载。重载,简单来说,就是在一个类中定义多个...

    java 函数的重载和重写实例代码

    在Java中,函数的重载(Overloading)和重写(Overriding)是多态性的重要表现形式,它们都是实现面向对象设计原则的关键手段。 1. 重载(Overloading): 重载发生在同一个类中,它允许我们创建多个同名的方法,...

    java中重载与重写的区别

    Java 中的重载(Overloading)与重写(Overriding)是两个重要的概念,它们都是实现多态性的重要方式,但两者之间存在着显著的区别。 **重载(Overloading)** 重载是指在同一个类中可以有多个同名方法,但这些...

    java面向对象重载和重写

    综上所述,Java中的“重载”和“重写”都是面向对象的重要特性,它们帮助我们设计出更加灵活和可扩展的代码结构。在实际开发中,合理利用这两种机制,可以有效提高代码的复用性和可维护性。希望这个解释能帮助大家更...

    Java 重写与重载方法与区别详解

    Java中的方法重写(Override)和重载(Overload)是两种不同的概念,它们都是多态性的体现,但实现方式和目的各有不同。 **重写(Override)** 重写发生在继承关系中,当子类继承父类后,可以对父类中已有的非...

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

     方法的重载是同一个类中多态性的一种表现。  方法重载须遵循如下两条规则  (1)方法名相同。  (2)参数列表不同。  注意:方法的返回值类型不能用来区分重载的方法。这是因为当调用一个方法时,返回值...

Global site tag (gtag.js) - Google Analytics