`

方法重载和方法重写

    博客分类:
  • java
阅读更多

方法的重载,在一个类中,跟继承没关系。

方法重载具体规范

一、方法名一定要相同。

二、方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。

       1.如果参数个数不同,就不管它的参数类型了!

       2.如果参数个数相同,那么参数的类型或者参数的顺序必须不同。

三.方法的返回类型、修饰符可以相同,也可不同。

 

 

方法重写(覆盖)

方法的重写,更适合叫成方法的覆盖。是两个类之间的继承关系产生的。

1.发生方法重写的两个方法返回值方法名参数列表必须完全一致(子类重写父类的方法)

2.子类抛出的异常不能超过父类相应方法抛出的异常

3.子类方法的访问级别不能低于父类相应方法的访问级别

4.子类方法的返回值必须是父类方法返回值的子类

 

注意:子类方法的参数是父类方法参数的子类不能构成重写

 

package com.ez;
/**
 * 接口可以声明变量和方法
 * @author 窗外赏雪(EZ编程网)
 */
public interface Car {
	/**
	 * The blank final field price may not have been initialized
	 * Illegal modifier for the interface field Car.price; only public, static & final are permitted
	 * 如果省略修饰语,那么就是默认的public,static & final
	 * 汽车有价格属性
	 */
	float price=10;
	
	/**
	 * Illegal modifier for the interface method driving; only public & abstract are permitted
	 * 如果省略修饰语,那么就是默认的public & abstract
	 * 车可以驾驶
	 */
	void driving();
}

 

package com.ez.impl;

import com.ez.Car;
import com.ez.Vehicle;
/**
 * 要先写extends 再写implements
 * @author 窗外赏雪(EZ编程网)
 *
 */
public class Rezi extends Vehicle implements Car {


	@Override
	public void didi() {
		
	}

	@Override
	public void driving() {
		
	}
	/**
		方法重载具体规范
		一.方法名一定要相同。
		二.方法的参数表必须不同,包括参数的类型或个数,以此区分不同的方法体。
			1.如果参数个数不同,就不管它的参数类型了!
			2.如果参数个数相同,那么参数的类型或者参数的顺序必须不同。
		三.方法的返回类型、修饰符可以相同,也可不同。
		四.方法可以抛异常、也可以不抛异常。
	 */
	public void driving(int speed) {
		
	}
	
	public void driving(String command){
		
	}
	
	public void driving(String command,int speed){
		
	}
	
	public void driving(int speed,String command){
		
	}
	
	/**
	  	方法重写(方法覆盖)
		1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)
		2.子类抛出的异常,不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)
		3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
		根据2,3条是不是能确定第一条,子类方法的返回值必须是父类方法返回值的子类。
	 */
	public void brake() throws IllegalArgumentException{
		System.out.println("刹车");
	}
	
	public Camey include(){
		return new Camey();
	}
}

 

package com.ez.impl;

import com.ez.Car;
/**
 * 
 * @author 窗外赏雪(EZ编程网)
 *
 */
public class Camey implements Car{

	@Override
	public void driving() {
		
	}

}

 

分享到:
评论

相关推荐

    Java方法重载和方法重写的区别.docx

    Java编程语言中,方法的两种重要特性是方法重载(Overloading)和方法重写(Overriding)。这两种机制都是为了实现多态性,但它们在实际应用中有着明显的区别。 **方法重载(Overloading)**: 方法重载发生在同一...

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

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

    C#重写重载与多态

    在C#编程语言中,重写、重载和多态是面向对象编程的三大核心特性,它们对于构建灵活、可扩展的代码结构至关重要。 首先,我们来看“重写”。重写(Override)允许子类对从基类继承来的方法进行重新定义,以便提供...

    重载与覆写/重写的区别

    方法重载只可以通过方法名和方法参数来区别,即“方法签名” * @return * @throws NumberFormatException */ public int getSides(Object obj) throws NumberFormatException { return 1; } /** * 2....

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

    Java 中重载与重写的区别 Java 中的重载(Overloading)和重写(Overriding...在 Java 中,多态性可以通过方法重载和方法重写来实现。方法重载允许同一个方法名对应多个方法体,而方法重写允许子类重写父类中的方法。

    java中的重载和重写的区别

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

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

     (1)子类的方法的名称及参数必须和所重写的方法完全相同。  (2)子类的方法返回类型必须和所重写的方法相同。  (3)子类方法不能缩小所重写方法的访问权限。  (4)子类方法不能抛出比所覆盖方法更多的...

    重写和重载的区别

    在面向对象编程中,方法的重写(Overriding)和重载(Overloading)是非常重要的概念。这两种机制可以帮助程序员更灵活地管理和组织代码,提高代码的复用性和可扩展性。 #### 二、重载(Overloading) **定义:** ...

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

    总之,Java的重写和重载是面向对象编程的重要特性,它们使得代码更加灵活、可维护。理解并熟练运用这两个概念,将有助于提升我们的编程能力和代码质量。在实际工作中,我们应该根据需求选择合适的机制,以达到最佳的...

    重写(override)和重载(overload)的区别

    在C#编程语言中,重写(Override)和重载(Overload)是两种非常重要的概念,它们分别涉及对象多态性和方法的可选性。理解这两者的区别对于编写高效且易于维护的代码至关重要。 首先,让我们深入了解一下重写(Override)...

    Java中重载和重写总结

    编译器检查对象声明的类型和方法名,从而获取所有候选方法,然后根据方法调用的参数类型来选择唯一的那一个方法。如果编译器找到多于一个或者没找到,此时编译器就会报错。 Java 中的重载和重写是两个非常重要的...

    方法的重载和重写1

    在编程语言中,方法的重载(Overloading)和重写(Overriding)是两种不同的多态性表现,它们在类的继承体系中扮演着重要角色。本文将深入探讨这两种概念,以及它们在实际编程中的应用和规则。 首先,我们来看方法...

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

    理解并熟练掌握方法重写和方法重载是Java编程中的基本技能,它们对于实现多态、代码复用以及提高程序的灵活性和可维护性至关重要。在实际编程中,应根据需求灵活运用这两个特性,以编写出高效且易于维护的代码。

    Java的重载和重写

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

    JAVA重写和重载.pdf

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

    Java重载和重写的区别--源码实例

    Java中的重载(Overloading)和重写(Overriding)是面向对象编程中的两种关键特性,它们涉及到方法的多态性。理解这两者的区别对于编写高效、可维护的代码至关重要。 **重载(Overloading)**是指在一个类中,可以有多个...

    重载、重写、重构.md

    总结来说,重载、重构和重写是C#中非常重要的概念,它们分别涉及方法的命名、代码结构的优化以及继承关系中的方法实现。掌握这些概念有助于编写更高质量的代码,并能够更好地应对未来的需求变化。

Global site tag (gtag.js) - Google Analytics