DEV Community

Vaniusca 23
Vaniusca 23

Posted on

Java methods and classes examples 2

What is a Class in Java? A class is a blueprint for creating objects. It defines attributes (variables) and methods (functions) that describe the behavior of an object.
Basic Syntax of a Class

`// defining a class
public class Car {
// attributes (variables)
String brand;
int speed;

// method (function)
void honk() {
System.out.println("Beep Beep!");
}
}`
📌 Explanation:

Car is a class.
brand and speed are attributes (also called instance variables).
honk() is a method (a function inside a class).

How to Create an Object? An object is an instance of a class. You create objects using the new keyword.
Creating an Object in Java

`public class Main {
public static void main(String[] args) {
// creating an object of the Car class
Car myCar = new Car();

// assigning values to attributes
myCar.brand = "Toyota";
myCar.speed = 120;

// calling a method
myCar.honk();

// printing attributes
System.out.println("Brand: " + myCar.brand);
System.out.println("Speed: " + myCar.speed + " km/h");
Enter fullscreen mode Exit fullscreen mode

}
}`
🔹 Output:

makefile
Beep Beep!
Brand: Toyota
Speed: 120 km/h
📌 Explanation:

Car myCar = new Car(); → Creates an object named myCar.
myCar.brand = "Toyota"; → Assigns a value to brand.
myCar.honk(); → Calls the honk() method.

Constructors in Java A constructor is a special method that is automatically called when an object is created.
Example of a Constructor

`public class Car {
String brand;
int speed;

// constructor
public Car(String brand, int speed) {
this.brand = brand;
this.speed = speed;
}

// method to display car details
void displayCar() {
System.out.println("Brand: " + brand);
System.out.println("Speed: " + speed + " km/h");
}
}

public class Main {
public static void main(String[] args) {
// using constructor to initialize values
Car myCar = new Car("Honda", 150);
myCar.displayCar();
}
}`
🔹 Output:

Brand: Honda
Speed: 150 km/h
📌 Explanation:

The constructor Car(String brand, int speed) initializes attributes when the object is created.
The this keyword refers to the current object's instance.

Types of Methods in Java Java has two types of methods:
Instance Methods (work with object data)
Static Methods (belong to the class, not objects)
Example of Instance and Static Methods

`public class MathOperations {
// instance method
int square(int x) {
return x * x;
}

// static method
static int add(int a, int b) {
return a + b;
}
}

public class Main {
public static void main(String[] args) {
// calling an instance method
MathOperations math = new MathOperations();
int result = math.square(5);
System.out.println("Square: " + result);

// calling a static method
int sum = MathOperations.add(10, 20);
System.out.println("Sum: " + sum);
Enter fullscreen mode Exit fullscreen mode

}
}`
🔹 Output:

Square: 25
Sum: 30
📌 Explanation:

square(int x) is an instance method, so we need to create an object (math.square(5);).
add(int a, int b) is a static method, so we can call it directly using the class name (MathOperations.add(10, 20);).

Method Overloading in Java Method Overloading allows multiple methods with the same name but different parameters.
Example of Method Overloading

`public class Calculator {
// method with two parameters
int add(int a, int b) {
return a + b;
}

// overloaded method with three parameters
int add(int a, int b, int c) {
return a + b + c;
}
}

public class Main {
public static void main(String[] args) {
Calculator calc = new Calculator();
System.out.println("Sum (2 numbers): " + calc.add(10, 20));
System.out.println("Sum (3 numbers): " + calc.add(10, 20, 30));
}
}`
🔹 Output:

Sum (2 numbers): 30
Sum (3 numbers): 60
📌 Explanation:

The method add() is overloaded (two versions with different numbers of parameters).
The compiler automatically selects the correct method.

Subiectul 3 - Masina

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
public class Masina {
private int carId;
private String carMarca;
private int carService; // 0/1 = nu e / e în service
private double carVenit;
private double carCheltuiala;

// Constructor explicit
public Masina(int carId, String carMarca, int carService, double carVenit, double carCheltuiala) {
this.carId = carId;
this.carMarca = carMarca;
this.carService = carService;
this.carVenit = carVenit;
this.carCheltuiala = carCheltuiala;
}

// Geteri și seteri (id,marca,seevice,venit, cheltuiala)
public int getId() { return carId; }
public void setId(int carId) { this.carId = carId; }

public String getMarca() { return carMarca; }
public void setMarca(String carMarca) { this.carMarca = carMarca; }

public int getService() { return carService; }
public void setService(int carService) { this.carService = carService; }

public double getVenit() { return carVenit; }
public void addVenit(double suma) { this.carVenit += suma; }

public double getCheltuiala() { return carCheltuiala; }
public void addCheltuiala(double suma) { this.carCheltuiala += suma; }

// toString pentru informatii despre masina
@override
public String toString() {
return "Masina [ID=" + carId + ", Marca=" + carMarca + ", Service=" + (carService == 1 ? "DA" : "NU") +
", Venit=" + carVenit + ", Cheltuieli=" + carCheltuiala + "]";
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
import java.awt.;
import java.awt.event.
;
import java.util.ArrayList;

public class TihanIoan extends Frame {
private ArrayList masini = new ArrayList<>(); // Lista de masini
private List listMasini = new List(); // Listă pentru afișarea mașinilor
private Button btnAdaugaMasina = new Button("Adaugă Mașină"); // Buton pentru a deschide alt formular
public TihanIoan() {
// Setăm dereastra princ.
setTitle("Gestionare Mașini");
setSize(400, 300);
setLayout(new FlowLayout());
setVisible(true);

   //componente
   add(new Label("Lista Mașini:"));
   add(listMasini);
   add(btnAdaugaMasina);


   //deschiderea formularului
   btnAdaugaMasina.addActionListener(e -> new FormularAdaugareMasina());


   // inchidere principala
   addWindowListener(new WindowAdapter() {
       public void windowClosing(WindowEvent e) {
           dispose();
       }
   });
Enter fullscreen mode Exit fullscreen mode

}

class FormularAdaugareMasina extends Frame {
private TextField txtId = new TextField(10);
private TextField txtMarca = new TextField(10);
private Button btnSalveaza = new Button("Salvează");
private Button btnAnuleaza = new Button("Anulează");

   public FormularAdaugareMasina() {
       // Setam adauga maisna
       setTitle("Adaugă Mașină");
       setSize(250, 200);
       setLayout(new FlowLayout());
       setVisible(true);


       // Adaugam componente pentru formular
       add(new Label("ID Mașină:"));
       add(txtId);
       add(new Label("Marca Mașinii:"));
       add(txtMarca);
       add(btnSalveaza);
       add(btnAnuleaza);


       // salvam masina
       btnSalveaza.addActionListener(e -> {
           try {
               int id = Integer.parseInt(txtId.getText());
               String marca = txtMarca.getText().trim();


               if (marca.isEmpty()) {
                   showMessage("Introduceți o marcă validă!");
                   return;
               }


               // adaugam maina noua
               Masina masina = new Masina(id, marca, 0, 0.0, 0.0);
               masini.add(masina);
               listMasini.add(marca); // Adăugăm marca în lista vizuală



               dispose();
           } catch (NumberFormatException ex) {
               showMessage("ID-ul trebuie să fie un număr!");
           }
       });


       // anulam
       btnAnuleaza.addActionListener(e -> dispose());


       addWindowListener(new WindowAdapter() {
           public void windowClosing(WindowEvent e) {
               dispose();
           }
       });
   }


   // mesaj de eroare
   private void showMessage(String message) {
       Dialog dialog = new Dialog(this, "Atenție", true);
       dialog.setLayout(new FlowLayout());
       dialog.add(new Label(message));
       Button btnOk = new Button("OK");
       btnOk.addActionListener(e -> dialog.setVisible(false));
       dialog.add(btnOk);
       dialog.setSize(200, 100);
       dialog.setVisible(true);
   }
Enter fullscreen mode Exit fullscreen mode

}

// main-ul aplicatiei finale
public static void main(String[] args) {
new TihanIoan();
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

import java.awt.;
import java.awt.event.
;
import java.util.ArrayList;

public class TihanIoan extends Frame {
private ArrayList masini = new ArrayList<>();
private List listMasini = new List();

private TextField txtId = new TextField();
private TextField txtMarca = new TextField();
private TextField txtVenit = new TextField();
private TextField txtCheltuiala = new TextField();

private Button btnAdaugaMasina = new Button("Adauga o masina noua");
private Button btnAdaugaVenit = new Button("Adauga venit");
private Button btnAdaugaCheltuiala = new Button("Adauga cheltuiala");
private Button btnAfisare = new Button("Informatii actuale");

private Checkbox checkService = new Checkbox("Masina este in service");
private Label lblInfo = new Label("Informatii despre masina selectata");

public TihanIoan() {
setTitle("Gestionare Masini");
setSize(1300, 300);
setLayout(new FlowLayout());

   add(new Label("ID Masina:"));
   add(txtId);
   txtId.setColumns(10);


   add(new Label("Marca Masinii:"));
   add(txtMarca);
   txtMarca.setColumns(10);


   add(btnAdaugaMasina);
   add(listMasini);


   add(new Label("Suma Venit:"));
   add(txtVenit);
   txtVenit.setColumns(10);
   add(btnAdaugaVenit);


   add(new Label("Suma Cheltuială:"));
   add(txtCheltuiala);
   txtCheltuiala.setColumns(10);
   add(btnAdaugaCheltuiala);


   add(checkService);
   add(btnAfisare);
   add(lblInfo);


   // Eveniment adauga masina
   btnAdaugaMasina.addActionListener(e -> {
       try {
           int id = Integer.parseInt(txtId.getText());
           String marca = txtMarca.getText();
           Masina masina = new Masina(id, marca, 0, 0.0, 0.0);
           masini.add(masina);
           listMasini.add(marca);
       } catch (NumberFormatException ex) {
           showAlert("ID-ul trebuie să fie numar!!");
       }
   });


   // Eveniment adauga venit
   btnAdaugaVenit.addActionListener(e -> {
       int index = listMasini.getSelectedIndex();
       if (index != -1) {
           Masina masina = masini.get(index);
           if (masina.getService() == 0) {
               masina.addVenit(Double.parseDouble(txtVenit.getText()));
           } else {
               showAlert("Masina este in service! Nu poti adauga venituri.");
           }
       } else {
           showAlert("Selecteaza o masina!");
       }
   });


   // Eveniment adauga cheltuiala
   btnAdaugaCheltuiala.addActionListener(e -> {
       int index = listMasini.getSelectedIndex();
       if (index != -1) {
           Masina masina = masini.get(index);
           masina.addCheltuiala(Double.parseDouble(txtCheltuiala.getText()));
       } else {
           showAlert("Selecteaza o masina!");
       }
   });


   // Eveniment service
   listMasini.addItemListener(e -> {
       int index = listMasini.getSelectedIndex();
       if (index != -1) {
           Masina masina = masini.get(index);
           checkService.setState(masina.getService() == 1);
       }
   });


   checkService.addItemListener(e -> {
       int index = listMasini.getSelectedIndex();
       if (index != -1) {
           Masina masina = masini.get(index);
           masina.setService(checkService.getState() ? 1 : 0);
       }
   });


   // Buton pentru inforamtii
   btnAfisare.addActionListener(e -> {
       int index = listMasini.getSelectedIndex();
       if (index != -1) {
           Masina masina = masini.get(index);
           lblInfo.setText(masina.toString());
       } else {
           showAlert("Selecteaza o masina!");
       }
   });


   addWindowListener(new WindowAdapter() {
       public void windowClosing(WindowEvent e) {
           dispose();
       }
   });


   setVisible(true);
Enter fullscreen mode Exit fullscreen mode

}

private void showAlert(String message) {
Dialog dialog = new Dialog(this, "Atentie", true);
dialog.setLayout(new FlowLayout());
dialog.add(new Label(message));
Button btnOk = new Button("OK");
btnOk.addActionListener(e -> dialog.setVisible(false));
dialog.add(btnOk);
dialog.setSize(350, 100);
dialog.setVisible(true);
}

public static void main(String[] args) {
new TihanIoan();
}
}

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay