从 java 界面覆盖默认功能或无功能
Overridng either both default function or no function from java interface
我正在尝试构建字符串接口的加密和解密,class 正在覆盖该接口。现在,我想做一些事情,如果有任何 class 正在实现该接口,那么 class 要么不覆盖该接口的默认功能,要么覆盖该接口的所有功能。有办法吗?
public interface encryptAlgorithm {
default String encyrption(String str) {
//some code
}
default String decryption(String str) {
//some code
}
}
public class EncryptAlgorithmImpl implements encryptAlgorithm{
public String encrypt(String str) {
//some code
}
public String decrypt(String str) {
//some code
}
}
如果你想实现这一点,你的默认实现不应该在接口内部,而是应该在一个单独的 class 中,例如DefaultEncryptAlgorithm
实现了您的界面。
然后,如果你想覆盖none的默认实现,你可以使用或派生自DefaultEncryptAlgorithm
,如果你想覆盖这两个方法,你可以直接实现接口。
我正在尝试构建字符串接口的加密和解密,class 正在覆盖该接口。现在,我想做一些事情,如果有任何 class 正在实现该接口,那么 class 要么不覆盖该接口的默认功能,要么覆盖该接口的所有功能。有办法吗?
public interface encryptAlgorithm {
default String encyrption(String str) {
//some code
}
default String decryption(String str) {
//some code
}
}
public class EncryptAlgorithmImpl implements encryptAlgorithm{
public String encrypt(String str) {
//some code
}
public String decrypt(String str) {
//some code
}
}
如果你想实现这一点,你的默认实现不应该在接口内部,而是应该在一个单独的 class 中,例如DefaultEncryptAlgorithm
实现了您的界面。
然后,如果你想覆盖none的默认实现,你可以使用或派生自DefaultEncryptAlgorithm
,如果你想覆盖这两个方法,你可以直接实现接口。