我最近(4 天前)开始用 JAVA 编程。我有一些 C++ 和 PHP 的整体编程经验。我的问题是:我们可以在 JAVA 中实现一个在所有类中都可用的函数吗?我正在考虑一些全局日志记录功能,我需要在几个地方调用(记录事件、错误等)。
想象一下我有两个类,A 和 B。我需要在这两个类中调用日志记录函数,但我不想复制整个函数体(我相信这很糟糕),我想称之为严格(不创建另一个类,实例化它,然后从实例调用),如logEvent(someVariable)
. 所以我应该使用一个抽象类 C,A 和 B 将扩展它,但它们已经是其他类的扩展(内置)。由于不允许多重继承(是吗?),我需要做一些技巧。辛格尔顿也不喜欢我。在 PHP 或 C++ 中,我只需使用函数体创建单独的文件,然后包含它。
这是我想使用它的方式:
public class A extends SomeClass {
String error = "Error from class A";
logEvent(error);
}
public class B extends SomeOtherClass {
String error = "Error from class B";
logEvent(error);
}