有类库B和C,都继承自A类.我有2个类扩展B&C,即MyB和MyC.
A
/ \
B C
/ \
MyB MyC
Run Code Online (Sandbox Code Playgroud)
MyB并MyC分享许多常见代码,它们只是略有不同.
我想摆脱重复的代码,我怎么能在java中做到这一点?在C++中,可以通过创建一个公共基类并将其中常见的所有内容放入其中,如下所示:
A
/ \
B C
\ /
MyBase
/ \
MyB MyC
Run Code Online (Sandbox Code Playgroud) 我试图在jQuery进度条中垂直和水平居中文本.我管理中心水平但不垂直.这就是我现在所拥有的
我的HTML:
<div id='progressbar'><div id='label'>My text</div></div>
Run Code Online (Sandbox Code Playgroud)
我的CSS:
#progressbar {
width: 80%;
text-align: center;
overflow: hidden;
position: relative;
vertical-align: middle;
}
#label {
float: left;
width: 100%;
height: 100%;
position: absolute;
vertical-align: middle;
}
Run Code Online (Sandbox Code Playgroud)
我的JavaScript:
$("#progressbar").progressbar({
value: 50
});
Run Code Online (Sandbox Code Playgroud) 我有一个包含几个.go文件的小项目.当我运行main.go时,只有这个编译但没有别的,所以我的应用程序粉碎了.我知道我必须在运行 - >编辑配置中更改设置,但不知道该怎么做.IDE也没有看到终端预编译包,因此"包"选项而不是"文件"不起作用.
我有以下代码:
// IMyInterface.cs
namespace InterfaceNamespace
{
interface IMyInterface
{
void MethodToImplement();
}
}
Run Code Online (Sandbox Code Playgroud)
.
// InterfaceImplementer.cs
class InterfaceImplementer : IMyInterface
{
void IMyInterface.MethodToImplement()
{
Console.WriteLine("MethodToImplement() called.");
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码编译得很好(为什么?).但是,当我尝试使用它时:
// Main.cs
static void Main()
{
InterfaceImplementer iImp = new InterfaceImplementer();
iImp.MethodToImplement();
}
Run Code Online (Sandbox Code Playgroud)
我明白了:
Run Code Online (Sandbox Code Playgroud)InterfaceImplementer does not contain a definition for 'MethodToImplement'
即MethodToImplement从外面看不到.但是,如果我做了以下更改:
// InterfaceImplementer.cs
class InterfaceImplementer : IMyInterface
{
public void MethodToImplement()
{
Console.WriteLine("MethodToImplement() called.");
}
}
Run Code Online (Sandbox Code Playgroud)
然后Main.cs编译也很好.为什么这两者之间有区别?
我今天在代码中遇到了这个错误,需要一段时间来计算.我发现它很有趣所以我决定分享它.以下是问题的简化版本:
public class Test {
static
{
text = "Hello";
}
public static String getTest() {
return text + " World";
}
private static String text = null;
}
Run Code Online (Sandbox Code Playgroud)
猜猜是什么Test.getTest();回报?为什么?
我正在将C#代码转换为Java.在我转换的代码中有许多不同的地方依赖.Net MemberwiseClone.
似乎他们都做了浅拷贝.那么可以用Java简单地替换这些调用clone()吗?我想确保没有任何微小的差异会导致很难修复错误.
我们希望将我们的应用程序安装到(数千个)手机上,这些手机将在以后交付给客户.我们必须手动完成吗?有更快的方法吗?
例如,在Windows Mobile中,如果将安装文件放在SD卡上的某个文件夹中,并且将该SD卡插入手机,则应用程序会自动安装到设备上.Android上的任何类似机制?
提前致谢.
我想检查android sd卡中是否存在给定文件.我正在尝试使用绝对路径创建一个文件并检查file.exists()但它不起作用.该文件的URL是 "file:///mnt/sdcard/book1/page2.html",文件确实存在.但不知何故file.exists()并没有显示出相同的结果.
EventHandler.java:
public abstract class EventHandler<E extends EventArgs> {
public abstract void HandleEvent(Object sender, E e);
}
Run Code Online (Sandbox Code Playgroud)
Observers.java:
public class Observers<E extends EventArgs> {
private CopyOnWriteArrayList<EventHandler<? extends E>> mListeners = new CopyOnWriteArrayList<EventHandler<? extends E>>();
public void dispatchEvent(Object sender, E args) {
if (mListeners != null) {
for (EventHandler<? extends E> listener : mListeners) {
listener.HandleEvent(sender, args);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
以下行:
listener.HandleEvent(sender, args);
Run Code Online (Sandbox Code Playgroud)
原因:
EventHandler类型中的方法HandleEvent(Object,capture#3-of?extends E)不适用于参数(Object,E)
有人怎么解决这个问题?
EDIT1
原因? super E对我不起作用是我在Observers类中有以下方法:
public void addListener(EventHandler<? super E> listener) …Run Code Online (Sandbox Code Playgroud) 我有一个非常讨厌的问题.我想得到当前的日期/时间并将其插入文件名中,但我不能让我的生活得到它的工作.
我想把时间作为2011-11-18 12:13:57,然后将其插入我的文件名
文件名-2011-11-18-12:13:57.tar.gz
我试过SimpleDateFormat等但它不会起作用!
(我在Eclipse Indigo中写作)