java方法名一样,但是返回值不一样怎么定义
时间: 2023-05-11 14:07:31 浏览: 168
可以使用方法重载的方式来定义。方法重载是指在同一个类中定义多个方法,它们具有相同的方法名,但是参数列表不同,或者返回值类型不同。这样,当调用这个方法时,编译器会根据传入的参数类型或者返回值类型来自动选择调用哪个方法。例如:
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
这样就定义了两个名为add的方法,一个返回int类型,一个返回double类型。当调用add方法时,编译器会根据传入的参数类型来自动选择调用哪个方法。
相关问题
java方法名和入参一样,但是返回值不一样怎么定义
您可以使用方法的重载来实现这个需求。具体来说,您可以定义多个方法,它们的方法名和入参相同,但是返回值不同。这样,当您调用这些方法时,Java会根据您传入的参数类型和返回值类型来自动选择合适的方法进行调用。例如:
public int add(int a, int b) {
return a + b;
}
public double add(double a, double b) {
return a + b;
}
这样,当您调用add方法时,Java会根据您传入的参数类型自动选择合适的方法进行调用。如果您传入的是两个int类型的参数,那么Java会调用第一个方法,返回一个int类型的结果;如果您传入的是两个double类型的参数,那么Java会调用第二个方法,返回一个double类型的结果。
java 有返回值的构造方法
Java 中的构造方法并不像普通方法一样有返回值,因为构造方法的作用是初始化对象的实例变量,而不是返回值。
然而,可以通过在构造方法中使用 `return` 语句来从构造方法中返回一个对象。这个对象可以是当前正在初始化的对象,也可以是其他类型的对象。
例如,下面的代码演示了一个返回类型为 `String` 的构造方法:
```java
public class MyClass {
private String myString;
public MyClass() {
this("default value");
}
public MyClass(String s) {
myString = s;
}
public String getString() {
return myString;
}
}
```
在上面的代码中,有两个构造方法,一个是无参构造方法,另一个是带有一个参数的构造方法。在无参构造方法中,使用了 `this` 关键字来调用带有一个参数的构造方法。
在带有一个参数的构造方法中,将参数 `s` 赋值给了实例变量 `myString`。这样,在调用 `getString()` 方法时就可以返回 `myString` 的值了。
虽然这个构造方法返回了一个对象,但是它并不是返回值,而是在构造方法中创建的对象。