不同类别之间的导入和使用方法?

时间:2016-04-05 11:46:30

标签: java swing

我在班级calRoomCharges(int cusID)

中创建了一个名为public class transactions extends javax.swing.JFrame的方法

然后我将这个类导入到名为public class AddReservation extends javax.swing.JFrame

的类中

我按如下方式导入了该类。

import myhotel.FrontOffice.transactions;

这两个类都在同一个项目中。

但是当我打算在calRoomCharges(int cusID)课程中调用方法AddReservation时,它会说没有这样的方法。

我是在netbeans中做到的。

那么我应该导入该类并使用我在另一个类中创建的方法吗?

这是我创建的方法

  public double calRoomCharges(int cusId)
   {
       double tot=0.0;

        try
        {


            //Get Rates
            String sql="SELECT nights FROM reservation where cus_id ='"+cusId+"'";
            pst=conn.prepareStatement(sql);
            rs=pst.executeQuery();
            int nights = 0;
                if(!rs.next())
                {
                    //handle no result
                } 
                else 
                {
                    nights = rs.getInt("nights") ;

                }




            //Get number of rooms  

            String sql2="SELECT no_of_rooms FROM reservation where cus_id ='"+cusId+"'";
            pst=conn.prepareStatement(sql2);
            rs=pst.executeQuery();
            int rooms =0;

                if(!rs.next())
                {
                    //handle no result
                } 
                else 
                {
                    rooms = rs.getInt("no_of_rooms") ;

                }


            //Get rates

           String sql3="SELECT rates from room_type a,rooms b ,reservation r where a.type=b.type AND b.room_no=r.room_no AND r.cus_id='"+cusId+"' group by r.cus_id";
            pst=conn.prepareStatement(sql3);
            rs=pst.executeQuery();
            double roomRates =0.0;

                if(!rs.next())
                {
                    //handle no result
                } 
                else 
                {
                    roomRates = rs.getDouble("rates") ;

                }



            //Calculate room charges

            tot =roomRates * rooms * nights;



        }
        catch(Exception e){}

       return tot;
   }

这就是我称之为

的方式
private void EmpnamefieldMouseClicked(java.awt.event.MouseEvent evt) {                                          

        int cusNo =Integer.parseInt(cusID.getText());
        double roomCharges = calRoomCharges(cusNo);
    }           

2 个答案:

答案 0 :(得分:0)

您有两种调用calRoomCharges方法的可能性:

该方法是一种静态方法,您可以通过以下方法调用它:

transactions.calRoomCharges(123);

该方法是一种对象方法,因此您必须首先创建一个对象:

transactions obj = new transactions();

obj.calRoomCharges(123);

答案 1 :(得分:0)

您只需要使方法静态或通过对象

调用它
public static double calRoomCharges(int cusId)
{
     // ...
}

并称之为:

double roomCharges = transactions.calRoomCharges(cusNo);

或通过创建的对象调用它:

transactions t = new transactions();
double roomCharges = t.calRoomCharges(cusNo);

一个好处是用第一个大写字母命名类,这样你就有了类事务