DEV Community

Vaniusca 23
Vaniusca 23

Posted on

1

Java methods and classes examples 1

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.

// clasa angajati
public class Angajati {
private String angNume; // nume angajat
private double tarifOrar; // tarif orar
private int oreLucrate; // ore lucrate
private double avansSalariu; // avans salariu

// constructor
public Angajati(String angNume, double tarifOrar, int oreLucrate, double avansSalariu) {
this.angNume = angNume;
this.tarifOrar = tarifOrar;
this.oreLucrate = oreLucrate;
this.avansSalariu = avansSalariu;
}

// getter nume
public String getNume() { return angNume; }

// setter nume
public void setNume(String angNume) { this.angNume = angNume; }

// getter tarif
public double getTarif() { return tarifOrar; }

// setter tarif
public void setTarif(double tarifOrar) { this.tarifOrar = tarifOrar; }

// getter ore
public int getOre() { return oreLucrate; }

// setter ore
public void setOre(int oreLucrate) { this.oreLucrate = oreLucrate; }

// getter avans
public double getAvans() { return avansSalariu; }

// setter avans
public void setAvans(double avansSalariu) { this.avansSalariu = avansSalariu; }

// toString
@override
public String toString() {
return "angajat: " + angNume + "\n" +
"tarif orar: " + tarifOrar + " RON\n" +
"ore lucrate: " + oreLucrate + "\n" +
"avans salariu: " + avansSalariu + " RON";
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
import java.awt.*;

public class TihanIoan extends Frame {
// lista angajati
private List listAngajati = new List();

// casete de introducere text
private TextField txtNume = new TextField(15);
private TextField txtTarif = new TextField(10);
private TextField txtOre = new TextField(10);
private TextField txtAvans = new TextField(10);

// butoane
private Button btnAdauga = new Button("Adauga");
private Button btnSterge = new Button("Sterge");
private Button btnSetNume = new Button("Set Nume");
private Button btnSetTarif = new Button("Set Tarif");
private Button btnSetOre = new Button("Set Ore");
private Button btnSetAvans = new Button("Set Avans");

// etichete
private Label lblNume = new Label("Nume:");
private Label lblTarif = new Label("Tarif Orar:");
private Label lblOre = new Label("Ore Lucrate:");
private Label lblAvans = new Label("Avans Salariu:");
private Label lblLista = new Label("Lista Angajati:");

public TihanIoan() {
// setari fereastra
setTitle("Formular Angajati");
setSize(400, 300);
setLayout(new FlowLayout());

   // adaugare componente
   add(lblLista);
   add(listAngajati);


   add(lblNume); add(txtNume);
   add(lblTarif); add(txtTarif);
   add(lblOre); add(txtOre);
   add(lblAvans); add(txtAvans);


   add(btnAdauga);
   add(btnSterge);
   add(btnSetNume);
   add(btnSetTarif);
   add(btnSetOre);
   add(btnSetAvans);


   // inchidere fereastra
   addWindowListener(new java.awt.event.WindowAdapter() {
       public void windowClosing(java.awt.event.WindowEvent e) {
           dispose();
       }
   });


   setVisible(true);
Enter fullscreen mode Exit fullscreen mode

}

public static void main(String[] args) {
new TihanIoan();
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
import java.awt.;
import java.awt.event.
;
import java.util.ArrayList;

// clasa principala
public class TihanIoan extends Frame {
private List angajatiList; // lista angajati
private TextField numeField, tarifField, oreField, avansField; // casete text
private TextArea infoArea; // zona informatii
private ArrayList angajati; // lista obiecte angajati

// constructor
public TihanIoan() {
angajati = new ArrayList<>(); // initializare lista
setLayout(new FlowLayout()); // layout simplu
setSize(800, 300); // dimensiune fereastra

   // lista angajati
   angajatiList = new List();
   angajatiList.addItemListener(e -> afiseazaDetalii()); // eveniment selectare
   add(angajatiList);


   // casete text
   numeField = new TextField(10);
   add(new Label("Nume:")); add(numeField);


   tarifField = new TextField(5);
   add(new Label("Tarif Orar:")); add(tarifField);


   oreField = new TextField(5);
   add(new Label("Ore Lucrate:")); add(oreField);


   avansField = new TextField(5);
   add(new Label("Avans Salariu:")); add(avansField);


   // butoane
   Button setNume = new Button("Set Nume");
   setNume.addActionListener(e -> setNume());
   add(setNume);


   Button setTarif = new Button("Set Tarif");
   setTarif.addActionListener(e -> setTarif());
   add(setTarif);


   Button setOre = new Button("Set Ore");
   setOre.addActionListener(e -> setOre());
   add(setOre);


   Button setAvans = new Button("Set Avans");
   setAvans.addActionListener(e -> setAvans());
   add(setAvans);


   Button adaugaAngajat = new Button("Adauga Angajat");
   adaugaAngajat.addActionListener(e -> adaugaAngajat());
   add(adaugaAngajat);


   Button afiseazaInfo = new Button("Afiseaza Info");
   afiseazaInfo.addActionListener(e -> afiseazaInfo());
   add(afiseazaInfo);


   // zona informatii
   infoArea = new TextArea(4, 50);
   infoArea.setEditable(false);
   add(infoArea);


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

}

// setare nume
private void setNume() {
if (!angajati.isEmpty())
angajati.get(angajatiList.getSelectedIndex()).setNume(numeField.getText());
}

// setare tarif
private void setTarif() {
if (!angajati.isEmpty())
angajati.get(angajatiList.getSelectedIndex()).setTarif(Double.parseDouble(tarifField.getText()));
}

// setare ore
private void setOre() {
if (!angajati.isEmpty())
angajati.get(angajatiList.getSelectedIndex()).setOre(Integer.parseInt(oreField.getText()));
}

// setare avans
private void setAvans() {
if (!angajati.isEmpty())
angajati.get(angajatiList.getSelectedIndex()).setAvans(Double.parseDouble(avansField.getText()));
}

// adaugare angajat
private void adaugaAngajat() {
String nume = numeField.getText().isEmpty() ? "Anonim" : numeField.getText();
double tarif = tarifField.getText().isEmpty() ? 0.0 : Double.parseDouble(tarifField.getText());
int ore = oreField.getText().isEmpty() ? 0 : Integer.parseInt(oreField.getText());
double avans = avansField.getText().isEmpty() ? 0.0 : Double.parseDouble(avansField.getText());

   Angajati angajat = new Angajati(nume, tarif, ore, avans);
   angajati.add(angajat);
   angajatiList.add(nume);
Enter fullscreen mode Exit fullscreen mode

}

// afisare detalii
private void afiseazaDetalii() {
if (!angajati.isEmpty() && angajatiList.getSelectedIndex() >= 0) {
Angajati angajat = angajati.get(angajatiList.getSelectedIndex());
numeField.setText(angajat.getNume());
tarifField.setText(String.valueOf(angajat.getTarif()));
oreField.setText(String.valueOf(angajat.getOre()));
avansField.setText(String.valueOf(angajat.getAvans()));
}
}

// afisare informatii
private void afiseazaInfo() {
if (!angajati.isEmpty() && angajatiList.getSelectedIndex() >= 0) {
infoArea.setText(angajati.get(angajatiList.getSelectedIndex()).toString());
}
}

// metoda principala
public static void main(String[] args) {
new TihanIoan().setVisible(true);
}
}

Sentry image

Hands-on debugging session: instrument, monitor, and fix

Join Lazar for a hands-on session where you’ll build it, break it, debug it, and fix it. You’ll set up Sentry, track errors, use Session Replay and Tracing, and leverage some good ol’ AI to find and fix issues fast.

RSVP here →

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