从今天开始,转战iteye了
第一篇博客想写点关于java的方法重写,百度百科给这样的定义。
1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法)2.子类抛出的异常不能超过父类相应方法抛出的异常(子类异常不能大于父类异常)3.子类方法的访问级别不能低于父类相应方法的访问级别(子类访问级别不能低于父类访问级别)
但是通过今天写了一个重写Object类中的clone()方法我发现,重写方法的返回值可以是不一样的,或者说他的返回值可以是父类方法的返回值的子类,或者他的实现类。
有以下示例:
/**
* 这个类是汽车类
* 那么汽车是有轮子的
* */
public class Car {
public Wheel getWheel(){
System.out.println("汽车有轮子");
return new Wheel();
}
}
/**
* 这是个东风牌汽车 但是它继承Car
* 它会重写父类的方法
*
* */
public class DFCar extends Car{
@Override
public DFWheel getWheel(){
System.out.println("汽车有东风牌的轮子");
//return null;
return new DFWheel();
}
}
/**
* 这个是轮子类
* 汽车的轮子是一个超类
* */
public class Wheel {
}
/**
* 这个是东风牌得轮子
* 继承与Wheel
* */
public class DFWheel extends Wheel{
}
public class Client {
public static void main(String[] args) {
Car car = new DFCar();
car.getWheel();
}
}
程序运行一切正常
这个说明了,Override方法不一定要返回类型一摸一样的,可以返回子类实体
分享到:
相关推荐
Java中的方法重写(Overriding)与方法重载(Overloading)是面向对象编程中两个重要的概念,它们在实现多态性和代码复用时起到关键作用。本文将深入探讨这两个概念,以及它们在Java编程中的具体应用和区别。 1. **...
在方法重写中,子类可以对父类的方法进行修改或扩充,但不能修改父类的方法的参数列表。 方法重写的规则有三个: 1. 参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载。 2. 返回的类型必须一直...
10.java方法的重写.zip10.java方法的重写.zip10.java方法的重写.zip10.java方法的重写.zip10.java方法的重写.zip10.java方法的重写.zip10.java方法的重写.zip10.java方法的重写.zip10.java方法的重写.zip10.java方法...
方法重写则是继承机制中一个关键的特性,允许子类对父类的方法进行定制化,以满足特定需求。 **一、Java 继承** 1. **定义与语法**: Java 中的继承使用 `extends` 关键字实现。例如,如果 `Animal` 是一个类,`...
在Java编程语言中,"重写ZipCom方法"通常指的是我们对Java标准库中的`java.util.zip`包中的某些类或方法进行自定义扩展,以满足特定的压缩和解压缩需求。SOAP(Simple Object Access Protocol)是一种基于XML的协议...
Java 中的 URL 重写 Java 中的 URL 重写是一种常用的技术,它可以将原始的 URL 转换为另一个 URL,以便达到特定的目的。例如,隐藏真实的 URL、实现 URL 的加密、实现 URL 的重定向等。在 Java 中,有多种方式可以...
关于动态绑定(也称为晚期绑定或运行时多态),这是Java中方法调用的一个关键机制。在Java中,非私有、非静态、非最终的方法调用都是在运行时确定的,这意味着实际调用哪个方法取决于对象的实际类型,而不是声明类型...
在方法重写中,子类函数的访问修饰权限不能少于父类的。子类可以继承父类中的方法,而不需要重新编写相同的方法,但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写。 3. ...
Java 中,子类重写父类的方法时,需要注意访问级别的限制。子类的重写方法不能比父类的方法拥有更严格的访问级别。例如,如果父类的方法是包访问权限,子类的重写方法可以是公有访问权限,但不能是私有访问权限。...
java代码-使用java解决重写void paint( Graphics g )方法的源代码 ——学习参考资料:仅用于个人学习使用!
3. **返回类型**:重载不关注返回类型,而重写时返回类型必须相同或者子类方法的返回类型是父类方法返回类型的子类型(Java中的规则)。 4. **访问权限**:重写时子类方法的访问权限不能更低,可以更高。 5. **...
重载是指同一个类中的多个同名方法,重写是指子类对父类方法的重新实现,继承是指子类继承父类的成员变量和方法,而多态是指父类可以调用子类的方法。 在实际开发中,重载、重写、继承和多态都是非常重要的概念,...
方法的重载是同一个类中多态性的一种表现。 方法重载须遵循如下两条规则 (1)方法名相同。 (2)参数列表不同。 注意:方法的返回值类型不能用来区分重载的方法。这是因为当调用一个方法时,返回值...
- 方法的签名必须在基类和派生类中保持一致,这是Java中方法重写的条件。 - 返回类型的要求:返回对象类型必须相同,或者返回对象类型必须是协变的,这意味着派生类对象可以赋值给基类引用,且不影响方法返回值的...
JAVA重写和重载(Overriding和Overloading) JAVA中有两种不同的多态性表现形式:重写(Overriding)和重载(Overloading)。下面将对这两种形式进行详细的解释。 重载(Overloading) 重载是指在一个类中可以...
Java继承方法重写是面向对象编程中的一种重要概念,指的是子类可以继承父类的方法,并对其进行修改或扩展。下面是Java继承方法重写的实现原理及解析。 一、继承方法重写的定义 继承方法重写是指子类继承父类的方法...
Java 程序显示类中方法的重写 Java 是一种功能强大的编程语言,适用于各种应用场景。它被广泛用于企业级应用开发、移动应用开发、云计算、大数据处理等领域,是一门值得学习和掌握的编程语言。 在 Java 中,重写是...
Java --- 方法参数为接口(子类实现接口中重写后的方法流程图)
Java方法覆盖重写实现原理解析是Java编程语言中的一种重要机制,它允许子类继承父类的方法,并对父类方法进行修改或扩展,以满足特定的需求。本文将深入分析Java方法覆盖重写实现原理,介绍相关的注意事项和实践经验...
Java编程语言中,方法的两种重要特性是方法重载(Overloading)和方法重写(Overriding)。这两种机制都是为了实现多态性,但它们在实际应用中有着明显的区别。 **方法重载(Overloading)**: 方法重载发生在同一...