簡體   English   中英

在不同類之間導入和使用方法?

[英]import and use methods among different classes?

我在public class transactions extends javax.swing.JFrame創建了一個稱為calRoomCharges(int cusID)public class transactions extends javax.swing.JFrame

然后,將此類導入到名為public class AddReservation extends javax.swing.JFrame

我按如下方式導入了該類。

import myhotel.FrontOffice.transactions;

這兩個類都在同一個項目中。

但是,當我要在AddReservation類中調用方法calRoomCharges(int cusID) ,它說沒有這種方法。

我在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);
    }           

您有兩種調用calRoomCharges方法的可能性:

該方法是靜態方法,您可以通過以下方式調用它:

transactions.calRoomCharges(123);

該方法是一個對象方法,因此您必須首先創建一個對象,例如:

transactions obj = new transactions();

obj.calRoomCharges(123);

您只需要使方法靜態或通過對象調用即可

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

並這樣稱呼它:

double roomCharges = transactions.calRoomCharges(cusNo);

或通過創建的對象調用它:

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

一件好事是用首字母大寫來命名班級,這樣您就可以進行班級交易

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM