java - 比较 C#'s attributes and Java' s 标记接口(interface)

标签 java c# interface attributes

昨天我在 C# 中遇到了属性,准确地说是[Serializable]。据我了解,它们像元数据一样使用,以提供有关您的类(class)的一些信息。

此外,我了解到 Java 有“标记接口(interface)”,即没有方法的接口(interface),用于解释类的目的,即标记类的某些特征,例如 可序列化接口(interface)。

我在想:你能把两者相提并论吗?它们是否相似,甚至相同?

最佳答案

C# 属性更像是 Java 注释。 (我相信这就是 Java 的灵感所在。)

标记接口(interface)是一种 Java 1.0 结构,很少在新代码中使用(如果有的话)。我不觉得它们有用。我不建议恢复这种做法。

Java 接口(interface)应该用于将方法签名(“什么”)的声明与实现(“如何”)分开。它们应该像 C++ 纯虚类,而不是属性或注释。

关于java - 比较 C#'s attributes and Java' s 标记接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23781398/

相关文章:

c# - 在不区分大小写的字典键中忽略连字符

kotlin - 在有改造的条件下,在 URL 的路径中添加一个参数

javascript - 根据对象创建期间的参数选择对象具有的一组方法 - JavaScript

iphone - 在 iOS 中 - 当触摸 ScrollView 中的文本字段时, View 无法滚动

java - 如何在 HBase 中更新过期的 Kerberos 票证?

c# - 在 mvc 的 OnActionExecuting 中获取 Controller 的角色属性

java - dll可以在MAC os上加载

c# - 双线性插值配色方案

java - @ExceptionHandler 没有捕获 HttpMessageNotReadableException

java - 有没有办法从 java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock 获取 java.util.concurrent.locks.ReentrantReadWriteLock 对象