class GoodSandwich { private String name; private double cost; private boolean diet; void print() { System.out.println("Name: " + name + ", Cost: " + cost); System.out.println("Diet: " + diet); System.out.println(""); } void init(String nameIn, double costIn, boolean dietIn) { name = nameIn; cost = costIn; diet = dietIn; } void changeParameters(String nameIn, double costIn, boolean dietIn) { nameIn = new String("Changed"); costIn = 345.56; dietIn = false; } } public class ParameterExample { public static void main(String[] args) { GoodSandwich s = new GoodSandwich(); String nameOfSandwich = new String("HamCheese"); double minimumCost = 2.50; boolean dietSandwich = true; System.out.println("First Initialization"); s.init(nameOfSandwich, minimumCost, dietSandwich); s.print(); // using expression and boolean literal System.out.println("Second Initialization"); s.init(nameOfSandwich, 2 * minimumCost, true); s.print(); // passing by value therefore arguments will not change System.out.println("Modification of parameters"); s.changeParameters(nameOfSandwich, minimumCost, dietSandwich); System.out.println(nameOfSandwich); System.out.println(minimumCost); System.out.println(dietSandwich); } }