假设您有两个完全独立的项目:项目1和项目2.一个是Windows应用程序,一个是Web应用程序.
如果两个项目都需要A,B和C类用于内部使用,那么在两个项目之间的类中推广代码重用的最佳方法是什么(特别是代码随着时间的推移而更新)?
请注意,这些是两个项目所必需的相同的INTERNAL辅助类.
我刚刚开始学习Java,来自C#背景.
当我开始使用Collections时,我注意到Arrays.asList()返回一个ArrayList<T>对象.
然而,我不明白的是,根据' docjar '(第2834行)的代码清单,标签ArrayList<T>为私有.
如何使用已明确标记为隐藏的对象?或者(这是我怀疑的),私人对我假设的那个有什么不同的含义吗?
(另外,我注意到该类被标记为静态,这也让我感到困惑,但我会在另一个问题中提出这个问题)
编辑:C#中抛出编译器错误的示例:
public class PubClass {
private class Blah {
}
public Blah GetBlah() {
return new Blah();
}
}
Run Code Online (Sandbox Code Playgroud)
给出:不一致的可访问性:返回类型'Namespace.PubClass.Blah'比方法'Namespace.PubClass.GetBlah()'更难访问
我基本上想做这样的事情
public string Password
{
set { password = value; }
}
internal string Password
{
get { return password; }
}
Run Code Online (Sandbox Code Playgroud)
但是不必调用我的第二个函数别的东西(上面的代码不能编译,因为我使用了密码两次).我可以有setPassword和getPassword,但这似乎有点,好吧,垃圾:(
我的场景是我有一个包含核心业务逻辑的独立程序集(类库).我不希望任何使用类库的项目一旦设置就能查看密码.
以下问题的答案为2.为什么刷新只删除第一行?是否不期望它删除内部表的所有行?
以下代码将输出什么?
DATA: BEGIN OF itab OCCURS 0, fval type i, END OF itab.
itab-fval = 1. APPEND itab.
itab-fval = 2. APPEND itab.
REFRESH itab.
WRITE: /1 itab-fval.
Run Code Online (Sandbox Code Playgroud)
答:1
B:2
C:空白
D:0
答案:B
我正在创建一个界面。咱们来说说下面的
internal interface MyInterface
{
string Prop { get; }
}
Run Code Online (Sandbox Code Playgroud)
这是一个内部接口。我打算在项目中使用它,并且不想公开暴露Prop。然而,当我尝试将这个接口实现到一个类中时,我被迫将该Prop属性公开。我不明白为什么当接口本身是内部的并且只能在内部使用时我需要公开这个属性。
最简单的形式是该计划
int main(){
int x;
scanf("%d",x);
}
Run Code Online (Sandbox Code Playgroud)
当我们给这个程序任何数值作为输入时,它会通过产生我们应该期望的段错误信号而失败.
但是如果我们改为给它任何字母数字值,它就不会失败.
这是怎么回事在scanf产生这种行为?
这是使用数值运行gdb时的回溯:
(gdb) bt
#0 0x00000034e7456ed0 in _IO_vfscanf_internal () from /lib64/libc.so.6
#1 0x00000034e74646cd in __isoc99_scanf () from /lib64/libc.so.6
#2 0x0000000000400553 in main ()
Run Code Online (Sandbox Code Playgroud)
那么为什么它没有像'a'或'dfgb'那样的任何字母数字值失败?