我是java的新手,在从类登录中调用另一个函数时遇到一些麻烦,它记录会话用户获取登录的日期和时间..我希望在销售类中调用此函数将从数据库表会话中检索用户名称
public void Sessiontracker(){
int day, month, year;
int second, minute, hour;
GregorianCalendar date = new GregorianCalendar();
day = date.get(Calendar.DAY_OF_MONTH);
month = date.get(Calendar.MONTH);
year = date.get(Calendar.YEAR);
second = date.get(Calendar.SECOND);
minute = date.get(Calendar.MINUTE);
hour = date.get(Calendar.HOUR);
String TheDate = +day+"/"+(month+1)+"/"+year;
String TheTime =+hour+" : "+minute+" : "+second;
try{
String sql2= "insert into session(Date,Time,Username)values('"+TheDate+"','"+TheTime+"','"+jTextField1.getText()+"' ) ";
pst=con.prepareStatement(sql2);
pst.execute();
}catch(SQLException | HeadlessException e){
JOptionPane.showMessageDialog(null, e);
}
}
这是登录类提取
private void Sessionuser (){
}
我希望在这里调用函数
答案 0 :(得分:2)
我不打算告诉你如何调用你的功能。但一般来说,您可以通过关联调用其他类的公共方法。
假设您有以下两个类:
A级 -
public class A{
// some private property
public void methodA(){}
public static methodStaticA(){} //note methodStaticA() is a static method
}
和另一个班级B -
public class B{
// some private property
public void methodB(){}
}
调用实例方法(非static
方法):
现在从第三个C类开始,你可以通过使用关联调用类A的methodA()和类B的methodB()(它们被称为实例方法) -
public class C{
// some private property
private A a;
private B b;
public void methodC(){
a.methodA(); //calling methodA() of class A
b.methodB(); //calling methodB() of class B
}
}
调用静态方法:
A类具有静态方法methodStaticA()
。在java中,我们不必创建A的实例来调用static
方法。从C类我们可以这样调用 -
public class C{
public void anotherMethodC(){
A.methodStaticA();
}
}
希望它会有所帮助 感谢。
答案 1 :(得分:1)
方法要么声明为static
,要么声明为new
。在类上调用静态方法。在类的实例上调用普通方法,也称为对象。
因此,要么使用MyClass instance = new MyClass();
instance.SessionTracker();
运算符实例化第一个类的实例,并在该实例上调用该方法:
static
或者通过在返回类型void
之前添加MyClass.SessionTracker();
关键字并在类上调用方法来将方法声明为静态,但是您不能在方法中使用非静态字段:< / p>
{{1}}
PS:
如果执行正在改变对象的状态,那么Java开发人员正在讨论方法;和函数,如果执行没有改变对象的状态
方法的名称应以小写字母
开头