考虑以下代码:
class Test {
Test() {
System.out.println("In constructor of Superclass");
}
int adds(int n1, int n2) {
return(n1+n2);
}
void print(int sum) {
System.out.println("the sums are " + sum);
}
}
class Test1 extends Test {
Test1(int n1, int n2) {
System.out.println("In constructor of Subclass");
int sum = this.adds(n1,n2);
this.print(sum);
}
public static void main(String[] args) {
Test1 a=new Test1(13,12);
Test c=new Test1(15,14);
}
}
Run Code Online (Sandbox Code Playgroud)
如果我们在超类中有一个构造函数,它将由我们为子类构造的每个对象调用(例如a
,类Test1
调用的对象Test1(int n1, int n2)
以及它的父类Test()
).
为什么会这样?
该程序的输出是:
在Superclass的构造函数中 …
我遇到以下行的问题,其中car
一个String
数组尚未初始化/没有元素.
String car [];
System.out.println(car.length);
Run Code Online (Sandbox Code Playgroud)
什么是可能的解决方案?
我想使用以下代码将数据插入表中
public User registerUser(String usr, String pwd) {
u=em.find(User.class,usr);
if(u!=null)
{
return null;
}
String query1 = "insert into users values('" + usr + "','" + pwd +"')";
Query q = em.createQuery(query1);
u=em.find(User.class,usr);
return u;
Run Code Online (Sandbox Code Playgroud)
}
这里'u
'是User
阶级的对象,em
是EntityManager
.
我得到以下异常:
用于servlet操作的Servlet.service()抛出异常org.hibernate.hql.ast.QuerySyntaxException:期待OPEN,在第1行第19列附近找到'values'[插入用户值('pawan','am')]
可能重复:
Java程序中奇怪的浮点行为
我在Java中遇到了这种奇怪的现象。在Java程序中尝试以下语句:
System.out.print(4.0-3.1);
Run Code Online (Sandbox Code Playgroud)
输出将是 0.8999999
为什么会这样?以及如何更改?