方法的重载和重写的区别

方法重载的注意事项:

1.方法名称必须相同,返回类型可以相同也可以不同。

2.方法的参数列表必须不同,要么参数的数量不同,要么参数的类型不同,或者两者都不同。

3.方法的访问修饰符可以不同,但是对于方法重载来说,并不需要方法的访问修饰符相同。

4.方法重载和方法的返回类型无关,所以不能仅仅依靠返回类型的不同来进行方法重载。

5.方法的重载可以提高代码的可读性和灵活性,但也容易产生混淆,因此在设计程序时要慎重选择方法的名称和参数列表。

方法重写的注意事项:

1.一般方法重写都是在子类中进行,所以类需要有继承关系。

2.方法名必须相同:方法重写需要保持方法名、参数列表和返回类型完全相同。子类中的重写方法必须和父类中的被重写方法具有相同的方法签名。

3.访问修饰符不能更严格:子类中的重写方法的访问修饰符不能比父类中被重写方法的访问修饰符更严格。例如,如果父类中的方法是protected访问修饰符,那么子类中的重写方法可以是protectedpublic,但不能是private或没有修饰符。(ps:父类当中的方法不能为private, static, final这三类否则子类不权重写该方法)

4.返回类型可以是子类类型:子类中的重写方法可以返回父类方法声明的返回类型的子类类型。这是由于子类方法的返回值可以被当作父类方法的返回值进行处理。

5.我们定义的所有类都是继承Object类所以我们也可以通过在自己定义的类中来重写Object类中的方法。(ps:查询Object类的jdk源码可以使用ctrl + B)

你可能感兴趣的:(java,开发语言)