在java中创建对象的问题

在java中创建对象的问题,java,object,Java,Object,您好,我有一个名为拖拉机的完整类,其中存储了不同的数据,但现在我假设创建一个带有零参数构造函数的对象调用拖拉机,但这是我到目前为止的代码,它给出了em错误 首先,这是另一个文件中的我的拖拉机类: import java.util.Scanner; class Tractor { private int RentalRate; private int RentalDays; private int VehicleID; private int RentalProfit;

您好,我有一个名为拖拉机的完整类,其中存储了不同的数据,但现在我假设创建一个带有零参数构造函数的对象调用拖拉机,但这是我到目前为止的代码,它给出了em错误

首先,这是另一个文件中的我的拖拉机类:

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=新拖拉机()以初始化拖拉机对象。这个构造器在你的拖拉机课上。当这些文件位于同一文件夹或“包”中时,您不需要导入它们。但如果它们在不同的包或文件夹中。您需要指定另一个的位置,即导入类