你必须在java中设置和获取吗?

你必须在java中设置和获取吗?,java,arrays,get,set,Java,Arrays,Get,Set,这是我的工作代码 import java.util.ArrayList; public class Cars { String Type; String Make; String Model; int Price; int NoDoors; public static void main(String [] args){ ArrayList <Cars

这是我的工作代码

import java.util.ArrayList;

public class Cars {

        String Type;
        String Make;
        String Model;
        int Price;      
        int NoDoors;

        public static void main(String [] args){

            ArrayList <Cars> vehicleArray = new ArrayList<Cars>();
            vehicleArray.add(new Cars("Car","Peugot","206",1495,5));
            vehicleArray.add(new Cars("Car","BMW","M3",34495,3));   
            vehicleArray.add(new Cars("Car","FIAT","PUNTO",3495,5));    
            vehicleArray.add(new Cars("Car","FORD","GT",41495,3));

            System.out.println("List of Cars :" + "\n");

            for(Cars car : vehicleArray){
                System.out.println("Type: " + car.getType());
                System.out.println("Make: " + car.getMake());
                System.out.println("Model: " + car.getModel());
                System.out.println("Price: " + car.getPrice());
                System.out.println("No of Doors: " + car.getDoors() + "\n");
            }           

            Cars lowestPrice = vehicleArray.get(0);
            for(Cars car : vehicleArray){
                if(lowestPrice.Price>car.Price){
                    lowestPrice = car;                  
                }
            }
            System.out.println("\n" + "Cheapest Car : ");
            System.out.println("Type: " + lowestPrice.getType());
            System.out.println("Make: " +  lowestPrice.getMake());
            System.out.println("Model: " +  lowestPrice.getModel());
            System.out.println("Price: " + lowestPrice.getPrice());
            System.out.println("No of Doors: " + lowestPrice.getDoors() + "\n");

        }

        public Cars(String type, String make, String model, int price, int Doors){
            Type = type;
            Make = make;
            Model = model;
            Price = price;
            NoDoors = Doors;

        }

        public String getType(){
            return Type;
        }

        public String getMake(){
            return Make;
        }

        public String getModel(){
            return Model;
        }

        public int getPrice(){
            return Price;
        }

        public int getDoors(){
            return NoDoors;
        }
}
import java.util.ArrayList;
公车{
字符串类型;
串制;
弦模型;
国际价格;
内露台;
公共静态void main(字符串[]args){
ArrayList Vehiclarray=新的ArrayList();
添加(新车(“汽车”、“标致”、“206”、1495,5”);
添加(新车(“汽车”、“宝马”、“M3”、34495,3));
添加(新车(“汽车”、“菲亚特”、“平托”,3495,5));
添加(新车(“汽车”、“福特”、“GT”,41495,3));
System.out.println(“车辆列表:“+”\n”);
用于(汽车:汽车射线){
System.out.println(“Type:+car.getType());
System.out.println(“Make:+car.getMake());
System.out.println(“Model:+car.getModel());
System.out.println(“Price:+car.getPrice());
System.out.println(“门的数量:“+car.getDoors()+”\n”);
}           
Cars lowerstprice=vehicleArray.get(0);
用于(汽车:汽车射线){
if(最低价格>汽车价格){
最低价格=汽车;
}
}
System.out.println(“\n”+“最便宜的车:”);
System.out.println(“Type:+lowestPrice.getType());
System.out.println(“Make:+lowestPrice.getMake());
System.out.println(“Model:+lowestPrice.getModel());
System.out.println(“Price:+lowerstprice.getPrice());
System.out.println(“门的数量:“+lowestPrice.getDoors()+”\n”);
}
公共汽车(字符串类型、字符串品牌、字符串型号、整数价格、整数门){
类型=类型;
制造=制造;
模型=模型;
价格=价格;
门=门;
}
公共字符串getType(){
返回类型;
}
公共字符串getMake(){
退货;
}
公共字符串getModel(){
收益模型;
}
public int getPrice(){
退货价格;
}
public int getDoors(){
返回NoDoors;
}
}

我被告知,除了使用get方法外,我还必须使用set方法。但是如果没有set方法,我的程序仍然可以运行。我只是想知道set方法是否重要

你不应该仅仅因为有人告诉你就添加东西;您应该在需要时添加它们

正如您的代码现在所示,它只是通过构造函数构造您的
Cars
(请记住,对象通常是单数而不是复数)对象。如果你永远都不想在一辆汽车被创造出来后改变它的属性,那么你现在就没事了

设置器用于提供对支持字段的操作访问。如果你不需要或不想要这个,那么你不应该添加它


旁注:添加它可能仍然是一个好主意,但将其改为
private
。如果需要验证逻辑(例如,检查价格是否为负值),则应通过setter进行验证。

请接受答案;)作为补充说明,“Cars”类的成员字段不符合常见的java命名约定。请看这里:。。。。重申Jeroens的观点:构造函数是从一开始就初始化新实例字段的常用方法(也是设置实例常量的唯一方法)。这是一种设置一些重要字段的好方法,但当许多字段需要初始化时会变得很麻烦。为此,以及为了以后能够操作它们,请使用setter。