[英]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.