java - 在 Java 中向抽象基类添加成员的影响

标签 java deployment abstract-class

我是 Java 的新手,所以下面的问题可能看起来微不足道。

背景:

场景一:
我在 Java 中有一个抽象基类 C1,其中包含 N 接口(interface)成员函数。
客户端使用这个类作为一个包,实现Client1客户端业务逻辑。
因此 Client1 使用包 Package1(包含 C1 类定义)能够使用 jar JAR1

场景二:
我想了解向类 C1 添加新成员函数的影响。具有附加成员的类 C1(假设我们调用 C2)包含 N+M 成员函数(假设客户端不使用)有 jar文件 JAR2

现在可以存在多种部署组合-
Client1(构建于Package1)在JAR1
环境中运行 Client1(构建于Package1)在JAR2
环境中运行 等等

我基本上来自 C++ 背景,在那里,当将新接口(interface)添加到暴露给客户的类时,将详细研究 vptr 的概念及其影响。

问题:
A。在JAVA的情况下,这些扩展需要如何分析和实现(任何关于相同的 Material 都非常有帮助)。
b.如果这是 java 中的“安全选项”,那么在这种情况下我们需要处理的其他注意事项是什么。

最佳答案

回答这两个问题:

a) 本文介绍了 JVM 如何加载和链接类文件:http://java.sun.com/docs/books/jvms/second_edition/html/ConstantPool.doc.html .

b) 只要方法/公共(public)成员的签名没有改变,调用代码仍然有效。更改这些将导致加载类时出现运行时异常。

关于java - 在 Java 中向抽象基类添加成员的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9396401/

相关文章:

java - 在ArrayBlockingQueue中,为什么将final成员字段复制到本地final变量中?

java - 多种类型的过滤器<Object>

java - 如何实现具有不同返回类型的重写方法?

Java:接口(interface)和抽象类的实现

C# 抽象 Dispose 方法

java - 调试内部编译器错误 (Java) 以查找有问题的源代码

java - 自定义 Swing 布局

git - 如何使用 Ansible 查看最近的 git 标签?

github - 有没有办法从 GitHub 上的最新版本下载工件?

android - 更新到 XE16 后如何将我的 Eclipse 构建部署到 Google Glass