旧实体:我有一个实体,但忘记在某些字段上添加 @DatabaseField 注释
@DatabaseTable
public class Card {
@DatabaseField(generatedId = true)
private int id;
@DatabaseField(unique = true)
private String cardNumber;
@DatabaseField
private String nameOnCard;
private String ccv;
private String validFrom;
private String validTill;
private String pin;
//Required by ormLite
public Card() {
}
//skipped the getter setters below
}
Run Code Online (Sandbox Code Playgroud)
我有一个编写配置的类,这是代码。
package net.udevs.db;
import com.j256.ormlite.android.apptools.OrmLiteConfigUtil;
import net.udevs.entity.Card;
public class OrmLiteSqlLiteConfigGenerator extends OrmLiteConfigUtil {
private final static Class<?>[] entityClasses=new Class[]{EmailAccount.class, Card.class};
public static void main(String... args) throws Exception{
writeConfigFile("ormlite_config.txt",entityClasses);
}
} …Run Code Online (Sandbox Code Playgroud) 我读到,从构造函数是私有的类创建子类是不可能的,但奇怪的是我能够做到这一点,这个代码片段还有更多内容吗?
请有人提供易于理解和满意的解释.
public class app {
public static void main(String[] args) {
app ref = new app();
myInheritedClass myVal = ref.new myInheritedClass(10);
myVal.show();
}
int myValue = 100;
class myClass {
int data;
private myClass(int data) {
this.data = data;
}
}
class myInheritedClass extends myClass {
public myInheritedClass(int data) {
super(data);
}
public void show() {
System.out.println(data);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我在https://www.compilejava.net/上运行了这个片段,输出为10.
我要抓取网站,然后使用网站中的数据填充应用程序中的元素,我的网站有登录页面,并且某些页面仅在登录完成后才打开。
我开始使用HtmlUnit,因为它是无头浏览器,并在Java IDE中完成了自定义api,后来我尝试使用从Java IDE生成的jar,发现HtmlUnit和Android存在不兼容问题。
谁能提出解决这个问题的办法?
编辑: 由于没有人真正回答过这个问题,我目前正在使用android的本地WebView进行工作,将其可见性设置为不可见,然后使用与Java对象的javascript接口,我可以注入JS代码来抓取任何数据。
如果我们考虑这段代码,它是不是安全风险,如果是,那么为什么java允许它?
class SomeApi
{
void someImportantInnerApiMethod()
{
//some operation
}
}
class MaliciousUserClass extends SomeApi
{
@Override
public void someImportantInnerApiMethod()
{
super.someImportantInnerApiMethod();
//inner api method now exposed
}
}
Run Code Online (Sandbox Code Playgroud)