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");
}
}`
🔹 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);
}
}`
🔹 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();
}
});
}
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);
}
}
// 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);
}
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();
}
}
Top comments (0)