在java中创建对象的问题
您好,我有一个名为拖拉机的完整类,其中存储了不同的数据,但现在我假设创建一个带有零参数构造函数的对象调用拖拉机,但这是我到目前为止的代码,它给出了em错误 首先,这是另一个文件中的我的拖拉机类:在java中创建对象的问题,java,object,Java,Object,您好,我有一个名为拖拉机的完整类,其中存储了不同的数据,但现在我假设创建一个带有零参数构造函数的对象调用拖拉机,但这是我到目前为止的代码,它给出了em错误 首先,这是另一个文件中的我的拖拉机类: import java.util.Scanner; class Tractor { private int RentalRate; private int RentalDays; private int VehicleID; private int RentalProfit;
import java.util.Scanner;
class Tractor
{
private int RentalRate;
private int RentalDays;
private int VehicleID;
private int RentalProfit;
public void setRentalRate(int r)
{
Scanner input = new Scanner(System.in);
System.out.println("What's the Rental Rate?");
int num = input.nextInt();
num = r;
if(r<0 || r >1000)
RentalRate = r;
RentalRate= 1;
}
public int getRentalRate()
{
return RentalRate;
}
public void setVehicleID(int v)
{
Scanner input = new Scanner(System.in);
System.out.println("What's the vehicleID?");
int num1 = input.nextInt();
num1 = v;
if(v<0)
VehicleID = v;
VehicleID = 1;
}
public int getVehicleID()
{
return VehicleID;
}
public void setRentalDays(int d)
{
Scanner input = new Scanner(System.in);
System.out.println("How many rental days?");
int num2 = input.nextInt();
num2 = d;
if(d<0)
RentalDays = d;
RentalDays = 1;
}
public int getRentalDays()
{
return RentalDays;
}
public String toString()
{
String str;
str = "RentalDays:" + RentalDays +"\nRenalRate:" + RentalRate + "\nVehicleID " + VehicleID;
return str;
}
public void RentalProfit(int RentalRate, int RentalDays)
{
RentalProfit = RentalRate * RentalDays;
}
错误是:
testTractor.java:7: error: illegal start of expression
public tractor()
^
testTractor.java:7: error: ';' expected
public tractor()
^
2 errors
您有编译错误。您需要首先声明拖拉机类,然后在其中添加构造函数。一种方法是在单独的文件中声明。同样在Java中,除非您定义了
d
,否则无法分配它。也许您想将日期指定为字符串
看看下面我提供的示例。
您需要首先创建一个名为Tractor.java的文件,然后在其中定义变量。例如Tractor.java
的内容:
public class Tractor {
String rentaldays,someOtherValue;
public Tractor(){
rentaldays ="monday";
someOtherValue="value";
}
//or
public Tractor(String rentalDays){
this.rentaldays = rentalDays;
someOtherValue = "asf";
}
}
然后在主方法中,您可以执行Tractor trac=new Tractor()代码>或拖拉机trac=新拖拉机(“星期二”)
之后,您还可以使用System.out.println(trac.rentaldays)打印trac
的rentaldays代码>
从外观上看,您可能正在制作拖拉机租赁系统。在这种情况下,rentalDays可能是一个字符串数组。然后,您将在租赁系统中存储一组拖拉机对象。您可以查看这些术语和关键字来指出正确的方向。如果定义错误,请在类中定义方法,然后在main()方法中调用它们
如果您的项目中已经有类拖拉机,则使用非法的java语法。要在其他类中调用它,请尝试以下代码
public class TestTractor(){
Tractor objTractor;
public static void main(String[] args){
//create new tractor object with no parameter
objTractor = new Tractor();
//create new tractor object with parameter
objTractor = new Tractor(parameter here);
//do some action of object here
...........
}
}
public tractor()
{
this.RentalDays = d;
this.RentalRate = r;
this.VehicleID = v;
}
//这只是一个样本
在拖拉机类中添加以下代码
public class TestTractor(){
Tractor objTractor;
public static void main(String[] args){
//create new tractor object with no parameter
objTractor = new Tractor();
//create new tractor object with parameter
objTractor = new Tractor(parameter here);
//do some action of object here
...........
}
}
public tractor()
{
this.RentalDays = d;
this.RentalRate = r;
this.VehicleID = v;
}
并将您的TestTractor类保持为
public class TestTractor(){
public static void main(String[] args){
Tractor objTractor = new Tractor();
// objTractor.yourMethodName
}
}
您的代码不是有效的Java,您应该重新开始。通过声明变量并为其分配对象来创建拖拉机对象,后者通常通过调用构造函数来创建:Tractor-Tractor=new-Tractor()代码>。但更重要的是,你的问题表明,阅读Java入门教材的第一章或第二章会让你受益匪浅,因为这是你要问的首要原则。问题是,我有一个名为Tractor.Java的完整类,它是一个包含所有变量的Tractor类,比如retanlarte=r等等,我只是不知道如何将这两个程序放在一起思考,这样我的主testTractor.java就可以在另一个java程序中使用我从factor类中获得的所有信息。现在看起来不错,添加一个构造函数,就像我为tractor初始化变量一样。然后使用tract trac=新拖拉机()代码>以初始化拖拉机对象。这个构造器在你的拖拉机课上。当这些文件位于同一文件夹或“包”中时,您不需要导入它们。但如果它们在不同的包或文件夹中。您需要指定另一个的位置,即导入类