Java方法重载详解与示例

需积分: 3 0 下载量 100 浏览量 更新于2024-08-07 收藏 11KB MD 举报
"Java自学笔记,讲解了方法重载的概念和实例,主要关注方法名相同但参数类型或个数不同的情况。" 在Java编程中,方法重载(Method Overloading)是面向对象的一个重要特性,它允许我们在同一个类中定义多个同名方法,只要这些方法的参数列表不同即可。参数列表的不同主要体现在参数类型、参数个数以及参数顺序上。这里的参数列表指的是方法声明中括号内的所有参数,不包括返回类型和方法修饰符。尽管返回类型和方法修饰符(如public、private等)可以不同,但它们不是判断方法是否被重载的关键因素。 在给定的例子中,展示了如何重载`main`方法。通常,我们熟悉的`main`方法签名是`public static void main(String[] args)`,但在这个例子中,创建了两个`main`方法,一个接受`double`类型的参数,另一个接受`int`类型的参数。这是合法的,因为尽管方法名相同,但参数类型不同。 实例代码中,`OverloadingDemo`类有两个`max`方法,一个接收两个`double`类型参数,另一个接收两个`int`类型参数。这两个方法都计算并返回两个数中的较大值。当调用`main`方法时,根据传入的参数类型(`int`或`double`),会自动选择对应版本的`max`方法执行。因此,通过改变`main`方法中参数的类型,我们可以观察到不同的输出结果,这体现了方法重载的动态绑定特性。 在Java中,方法重载对于编写更加灵活和可读的代码非常有用。它使得我们可以为同一操作提供多种不同的实现,具体使用哪个实现取决于调用时传递的参数。这样,我们不必为每种可能的数据类型都创建一个新的方法名称,从而降低了代码的复杂性和维护成本。 总结一下,本笔记主要讲解了Java中方法重载的概念和应用,强调了方法名相同但参数列表不同的原则,并通过实例展示了如何在实际编程中使用方法重载。学习和掌握这一特性有助于提升代码的组织和设计能力,使程序更加模块化和易于理解。

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2023-07-18 09:20:08.549 ERROR 5944 --- [ restartedMain] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userController': Unsatisfied dependency expressed through field 'service'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'userServiceImpl' defined in file [D:\专高二代码\day2-zy\target\classes\com\bwie\service\impl\UserServiceImpl.class]: Initialization of bean failed; nested exception is java.lang.IllegalStateException: Encountered invalid @Scheduled method 'login': Only no-arg methods may be annotated with @Scheduled at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:660) ~[spring-beans-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:640) ~[spring-beans-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:119) ~[spring-beans-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:399) ~[spring-beans-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1425) ~[spring-beans-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) ~[spring-beans-5.2.15.RELEASE.jar:5.2.15.RELEASE] at org.springf

2023-07-20 上传