Java 如何为一个已经存在的类创建一个方法,以便它使用一个变量,并从中作为参数调用它?

Java 如何为一个已经存在的类创建一个方法,以便它使用一个变量,并从中作为参数调用它?,java,class,generics,methods,Java,Class,Generics,Methods,更新:谢谢你,现在我明白了不可能做到下面写的 假设我想为Integer创建一个add方法 喜欢这样工作:x.addy,其中x和y是 整数。有可能这样做吗?我唯一能做的事 可以考虑创建一个扩展Integer的不同类,并添加一个 方法,但还有其他方法吗 我首先质疑它的原因是,我需要创建一个泛型类,该类应该能够执行,例如,对Integer和BigInteger进行加法,我不想做检查什么类不能执行的情况。因此,我认为如果有可能做到以上几点,这将是有益的。现在我还不清楚该怎么做。很抱歉问了这么一个令人困惑

更新:谢谢你,现在我明白了不可能做到下面写的

假设我想为Integer创建一个add方法 喜欢这样工作:x.addy,其中x和y是 整数。有可能这样做吗?我唯一能做的事 可以考虑创建一个扩展Integer的不同类,并添加一个 方法,但还有其他方法吗

我首先质疑它的原因是,我需要创建一个泛型类,该类应该能够执行,例如,对Integer和BigInteger进行加法,我不想做检查什么类不能执行的情况。因此,我认为如果有可能做到以上几点,这将是有益的。现在我还不清楚该怎么做。很抱歉问了这么一个令人困惑的问题

另外,我是Java新手,也不是以英语为母语的人,所以我知道这个问题可能很愚蠢,或者已经得到了回答,如果是这样的话,我很抱歉。

更新:

我首先质疑它的原因是,我需要创建一个泛型类,该类应该能够执行,例如,对Integer和BigInteger进行加法,我不想做检查什么类不能执行的情况

为什么不使用java.lang.Number作为泛型类型,Integer和BigInteger都是java.lang.Number的子类

不,您不能向Integer添加方法,也不能创建扩展Integer的类,因为Integer是final,final类不能在Java中继承

如果您只想添加两个整数对象,只需使用+即可,因为Java中有自动装箱和取消装箱功能,请检查以下内容:

您可以创建util类以提供解决此问题的静态方法:

class Integers {
    public static Integer add(Integer i1, Integer i2) {
        return i1 + i2;
    }
}

顺便说一句,您可以在Kotlin中添加扩展方法,在这里您可以执行1.plus2之类的操作来执行plus操作。

我有一个不清楚的问题。如果要在现有Integer类内创建add方法,则不能创建它,因为它是final。相反,您可以在自己的类中创建add方法

public int add (Integer a, Integer b) {
  return a + b;
}

不,您不能向JDK中的类添加方法。因为Integer被标记为final,所以您也不能扩展它。您不需要添加此方法。请参阅:但请注意,基本包装器和字符串是不可变的。您不能更改现有JDK库中的类!您必须向自己的class.C99进行写入。它想要恢复它的功能^^@图灵你为什么提到C99?我不懂Java中的C99,这是个笑话。因为C只有结构,没有类,结构没有成员函数。C方式是编写函数并传入结构。本质上,这就是您对Integer所做的,但这会导致对象及其行为的解耦,这反过来会降低可读性。@Turing85哦,我从未想过这一点。对于有趣答案的严肃回答,我深表歉意: