给出以下代码:
public interface Selectable {
public void select();
}
public class Container implements Selectable {
public void select() {
...
}
public void createAnonymousClass() {
Selectable s = new Selectable() {
public void select() {
//see comment below.
}
};
}
}
Run Code Online (Sandbox Code Playgroud)
我想Container.select()从我的匿名类' select()方法中访问.但是,this.select()会再次调用匿名类的select()方法.
我的建议是:
在Container中引入一个字段,例如
private Container self = this;
Run Code Online (Sandbox Code Playgroud)
现在我可以Container.select()通过self.select()在匿名类中调用来访问.
这是一种合理的方式吗?还是有更好的方法吗?
是否可以清理mysql innodb存储引擎,以便它不存储已删除表中的数据?
或者我每次都要重建一个新的数据库?
java.lang.IllegalStateException来自Java文档的描述:
表示在非法或不适当的时间调用了方法.换句话说,Java环境或Java应用程序未处于所请求操作的适当状态.
IllegalStateException在.NET框架中是否有相同的东西?
我来自c#,这很容易,而且可能.
我有这个代码:
public abstract class clsAbstractTable {
public abstract String TAG;
public abstract void init();
}
Run Code Online (Sandbox Code Playgroud)
但是Eclipse告诉我我使用非法修改器.
我有这门课:
public class clsContactGroups extends clsAbstractTable {
}
Run Code Online (Sandbox Code Playgroud)
我希望以这种方式定义变量和方法,Eclipse 提示我,我没有实现抽象变量和方法.
我如何定义我的抽象类,以便提示我实现摘要?
编辑1
我将为不同的db表创建不同的类.每个类都应该有自己的TABLENAME变量,没有例外.每当我创建一个扩展抽象类的新类时,我必须确保这个变量是静态的.
然后在抽象类中我将有一个方法例如:init();
如果在这个init()方法中我调用TABLENAME,它应该从子类中获取值.
这样的事情也应该成功
String tablename=(clsAbstract)objItem.TABLENAME;
// where objItem can be any class that extended clsAbstract;
Run Code Online (Sandbox Code Playgroud)
编辑2
我希望在每个类中定义一个常量(静态),其名称用abstract定义.
我最近创建了一个项目并添加了一个启动和主要活动.我编辑了清单文件,并将启动活动和主要活动添加到其中.添加主活动后,它会向我发出警告"导出的活动不需要权限".这给了我什么警告?我的API版本是android:15.
请帮帮忙,谢谢!
这是我的清单文件!
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sliit.droidman"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="15" />
<application android:label="@string/app_name"
android:icon="@drawable/ic_launcher"
android:theme="@style/AppTheme">
<activity
android:name=".SplashActivity"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
<activity
android:name="com.sliit.droidman.main.MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="com.sliit.droidman.main.MAINACTIVITY" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud) 如果您有一个使用@PostConstruct注释的父类,并创建一个从中派生的子类.@PostConstruct每次创建子类的实例时,是否会自动调用该方法?因为@PostConstruct每次创建父实例时都会调用该方法.
我知道在儿童班里它会super();自动呼唤我们,而我们不必打电话给它.
我只是不确定如果该@PostConstruct子类调用super();构造函数,是否自动调用注释.
JSF中是否有任何内置的数字验证器标签,用于检查在h:inputext字段中输入的输入是否为数字?
第一个问题得到了解答.编辑解释下一个问题:
<h:inputText id="maxrecs" value="#{simpleBean.numRecords}" required="false" maxlength="4" >
<f:convertNumber longOnly="true"/>
</h:inputText>
Run Code Online (Sandbox Code Playgroud)
支持Bean
private long numRecords = null;
Run Code Online (Sandbox Code Playgroud)
如果我在辅助bean中使用String或Integer对象,则不会设置值.现在当我使用原始int时,屏幕上会打印出0.我想屏幕是空的.
有没有人知道一个链接,帖子,书或其他什么解释和名义化你需要并可以在persistence.xml文件中使用的所有属性?
在Eclipse 3.5中,在Windows - > Preferences - > Java> Editor - > Templates下,我可以添加代码模板.但是,这些模板只能包含我可以插入到现有Java类中的代码段.
是否可以为整个Java类创建模板,我可以使用File - > New - > My-Java-Class添加它们?
<input />如果文本比使用CSS的字段长,有没有办法在HTML中使用-field来换行?我不想使用,<textarea />因为我想通过按Enter键来避免用户输入强硬换行符.