繁体   English   中英

从Java中的另一个类调用另一个函数

[英]Calling another function from another class in java

我是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 (){



    }

我想在这里调用该函数

我不会告诉您如何调用函数。 但通常您可以通过关联调用其他类的公共方法。

假设您有以下两个类:
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(); 

      }
  }

希望它会有所帮助。
谢谢。

方法要么声明为static方法,要么不声明为static方法。 在类上调用静态方法。 在类(也称为对象)的实例上调用普通方法。

因此,您可以使用new运算符实例化第一个类的实例,然后在该实例上调用方法:

MyClass instance = new MyClass();
instance.SessionTracker();

或者,您可以通过在返回类型void之前添加static关键字来声明您的方法为静态方法,并在类上调用该方法,但随后您将无法在方法中使用非静态字段:

MyClass.SessionTracker();

PS:

如果执行更改了对象的状态,则Java开发人员正在谈论方法。 和功能,如果执行未更改对象的状态

方法名称应以小写字母开头

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM