<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Murali Rajendran</title>
    <description>The latest articles on DEV Community by Murali Rajendran (@murali_rajendran_8c84570f).</description>
    <link>https://dev.to/murali_rajendran_8c84570f</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3542691%2F9a2a8f5f-16c5-4f20-bfc5-88a18ba4a22e.jpg</url>
      <title>DEV Community: Murali Rajendran</title>
      <link>https://dev.to/murali_rajendran_8c84570f</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/murali_rajendran_8c84570f"/>
    <language>en</language>
    <item>
      <title>What is Array in Java</title>
      <dc:creator>Murali Rajendran</dc:creator>
      <pubDate>Tue, 11 Nov 2025 12:39:13 +0000</pubDate>
      <link>https://dev.to/murali_rajendran_8c84570f/what-is-array-in-java-4anj</link>
      <guid>https://dev.to/murali_rajendran_8c84570f/what-is-array-in-java-4anj</guid>
      <description>&lt;ul&gt;
&lt;li&gt;Array is a collection of similar data types stored in under a common name.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;*Its stored homogeneous data into array.&lt;/p&gt;

&lt;p&gt;*It helps you store multiple values in a single variable instead of declaring separate variables for each value.&lt;/p&gt;

&lt;p&gt;*Array value store in heap memory&lt;/p&gt;

&lt;p&gt;*Here JVM will manage to create the memory for the  Array object.&lt;/p&gt;

&lt;p&gt;*It is a index based.&lt;/p&gt;

&lt;p&gt;*The starting index will be 0.&lt;/p&gt;

&lt;p&gt;*Each element is accessed by its index, starting from 0.&lt;/p&gt;

&lt;p&gt;*In Java, the size of an array cannot change once it is created.&lt;/p&gt;

&lt;p&gt;*You can modify the elements inside it, but not the length.&lt;/p&gt;

&lt;p&gt;*No import is needed for arrays in Java.Arrays are built into the Java language itself — they are part of the core language.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;If you want to use these methods Arrays.sort(), Arrays.toString() should import this package **import java.util.Arrays;&lt;/em&gt;*.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;— but it can store both primitive and non-primitive values inside it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;WHY WE USE ARRAY:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;*We use arrays in Java because they let us store and manage multiple values efficiently using a single variable name — instead of creating many separate variables.&lt;/p&gt;

&lt;p&gt;*Store multiple values together&lt;br&gt;
Instead of many variables, one array holds many items.&lt;/p&gt;

&lt;p&gt;*Easy looping&lt;br&gt;
We can access all elements using a loop.&lt;/p&gt;

&lt;p&gt;*Fast access by index&lt;br&gt;
Access any element directly using its index (like marks[2]).&lt;/p&gt;

&lt;p&gt;*Memory efficiency&lt;br&gt;
Elements are stored contiguously in memory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ARRAY SYNTAX:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Declaration and then creation&lt;br&gt;
dataType[] arrayName = new dataType[size];&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;int[] numbers = {10, 20, 30, 40, 50};&lt;/p&gt;

&lt;p&gt;Declare the size of the Array:&lt;br&gt;
int[] numbers;       // Declaration&lt;br&gt;
numbers = new int[3]; // Creation&lt;br&gt;
numbers[0] = 10;&lt;br&gt;
numbers[1] = 20;&lt;br&gt;
numbers[2] = 30;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Getting array size:&lt;/strong&gt;&lt;br&gt;
System.out.println(numbers.length); // prints number of elements&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Advantages of arrays:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;*Stores multiple values in a single variable.&lt;/p&gt;

&lt;p&gt;*Easy access using index.&lt;/p&gt;

&lt;p&gt;*Useful for calculations and data analysis.&lt;/p&gt;

&lt;p&gt;*Memory efficiency.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Simplifies code.&lt;br&gt;
*&lt;/em&gt;&lt;br&gt;
Disadvantages of arrays:**&lt;/p&gt;

&lt;p&gt;*Fixed size.&lt;/p&gt;

&lt;p&gt;*Once an array is created, its size cannot be changed.&lt;/p&gt;

&lt;p&gt;*Can store only one data type.&lt;/p&gt;

&lt;p&gt;*3️⃣ No built-in methods for easy operations&lt;/p&gt;

&lt;p&gt;Arrays do not have built-in methods for:&lt;/p&gt;

&lt;p&gt;Adding or removing elements&lt;/p&gt;

&lt;p&gt;Searching specific items&lt;/p&gt;

&lt;p&gt;Checking if an element exists.&lt;/p&gt;

&lt;p&gt;*Wastage or shortage of memory&lt;/p&gt;

&lt;p&gt;Because size is fixed:&lt;/p&gt;

&lt;p&gt;If you allocate too large, memory is wasted.&lt;/p&gt;

&lt;p&gt;If you allocate too small, it can’t hold all data.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🔄 Polymorphism in Java</title>
      <dc:creator>Murali Rajendran</dc:creator>
      <pubDate>Tue, 04 Nov 2025 10:13:40 +0000</pubDate>
      <link>https://dev.to/murali_rajendran_8c84570f/polymorphism-in-java-5f4f</link>
      <guid>https://dev.to/murali_rajendran_8c84570f/polymorphism-in-java-5f4f</guid>
      <description>&lt;p&gt;1.Its that allows objects to behave differently based on their specific class type.&lt;/p&gt;

&lt;p&gt;2.In Java, polymorphism allows the same method or object to behave differently based on the context, specially on the project's actual runtime class.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Features of polymorphism:&lt;/strong&gt;&lt;br&gt;
1.Multiple Behaviors: The same method can behave differently depending on the object that calls this method.&lt;br&gt;
2.Method Overriding: A child class can redefine a method of its parent class.&lt;br&gt;
3.Method Overloading: We can define multiple methods with the same name but different parameters.&lt;br&gt;
4.Runtime Decision: At runtime, Java determines which method to call depending on the object's actual class.&lt;/p&gt;

&lt;p&gt;Consider a person who plays different roles in life, like a father, a husband, and an employee. Each of these roles defines different behaviors of the person depending on the object calling it.&lt;/p&gt;

&lt;p&gt;Example&lt;/p&gt;

&lt;p&gt;// Base class Person&lt;br&gt;
class Person {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Method that displays the 
// role of a person
void role() {
    System.out.println("I am a person.");
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;// Derived class Father that &lt;br&gt;
// overrides the role method&lt;br&gt;
class Father extends Person {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Overridden method to show 
// the role of a father
@Override
void role() {
    System.out.println("I am a father.");
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;public class Main {&lt;br&gt;
    public static void main(String[] args) {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    // Creating a reference of type Person 
    // but initializing it with Father class object
    Person p = new Father();

    // Calling the role method. It calls the 
    // overridden version in Father class
    p.role();  
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;**&lt;br&gt;
Types of Polymorphism in Java**&lt;br&gt;
In Java Polymorphism is mainly divided into two types: &lt;/p&gt;

&lt;p&gt;1.Compile-Time Polymorphism (Static)-Method overloading&lt;br&gt;
2.Runtime Polymorphism (Dynamic)-Method overriding&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Compile-Time Polymorphism&lt;/strong&gt;&lt;br&gt;
1.Compile-Time Polymorphism in Java is also known as static polymorphism and also known as method overloading. This happens when multiple methods in the same class have the same name but different parameters.&lt;br&gt;
2.Functions can be overloaded by changes in the number of arguments or/and a change in the type of arguments.&lt;br&gt;
3.Occurs when multiple methods have the same name but different parameters (number, type, or order).&lt;br&gt;
Decided at compile time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;// Method overloading By using&lt;br&gt;
// Different Types of Arguments&lt;/p&gt;

&lt;p&gt;// Class 1&lt;br&gt;
// Helper class&lt;br&gt;
class Helper {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Method with 2 integer parameters
static int Multiply(int a, int b)
{
    // Returns product of integer numbers
    return a * b;
}

// Method 2
// With same name but with 2 double parameters
static double Multiply(double a, double b)
{
    // Returns product of double numbers
    return a * b;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;// Class 2&lt;br&gt;
// Main class&lt;br&gt;
class Geeks&lt;br&gt;
{&lt;br&gt;
    // Main driver method&lt;br&gt;
    public static void main(String[] args) {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    // Calling method by passing
    // input as in arguments
    System.out.println(Helper.Multiply(2, 4));
    System.out.println(Helper.Multiply(5.5, 6.3));
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Runtime Polymorphism&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1.Method overriding in Java means when a subclass provides a specific implementation of a method that is already defined in its superclass. &lt;br&gt;
2.Occurs when a subclass provides its own version of a method already defined in its superclass.&lt;br&gt;
Decided at runtime using method overriding and dynamic method dispatch.&lt;/p&gt;

&lt;p&gt;class Animal {&lt;br&gt;
    void sound() {&lt;br&gt;
        System.out.println("Animal makes a sound");&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;class Dog extends Animal {&lt;br&gt;
    void sound() {&lt;br&gt;
        System.out.println("Dog barks");&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;public class Main {&lt;br&gt;
    public static void main(String[] args) {&lt;br&gt;
        Animal obj = new Dog(); // reference of parent, object of child&lt;br&gt;
        obj.sound();  // Output: Dog barks&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✅ Why Use Polymorphism?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Increases code reusability&lt;/li&gt;
&lt;li&gt;Makes code flexible and maintainable&lt;/li&gt;
&lt;li&gt;Enables dynamic behavior of objects at runtime&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Example&lt;/p&gt;

&lt;p&gt;class Payment {&lt;br&gt;
    void pay() { System.out.println("General payment"); }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;class CreditCard extends Payment {&lt;br&gt;
    void pay() { System.out.println("Paid using Credit Card"); }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;class PayPal extends Payment {&lt;br&gt;
    void pay() { System.out.println("Paid using PayPal"); }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;class Test {&lt;br&gt;
    public static void main(String[] args) {&lt;br&gt;
        Payment p = new PayPal();&lt;br&gt;
        p.pay(); // Output: Paid using PayPal&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;➡️ Same method pay() acts differently depending on the payment type.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Interface in Java</title>
      <dc:creator>Murali Rajendran</dc:creator>
      <pubDate>Tue, 04 Nov 2025 09:51:46 +0000</pubDate>
      <link>https://dev.to/murali_rajendran_8c84570f/interface-in-java-1mhe</link>
      <guid>https://dev.to/murali_rajendran_8c84570f/interface-in-java-1mhe</guid>
      <description>&lt;p&gt;🧠 What is an Interface?&lt;/p&gt;

&lt;p&gt;1.An interface in Java is a blueprint of a class that defines a set of abstract methods (no body) which must be implemented by any class that uses (implements) the interface.&lt;br&gt;
2.It is used to achieve abstraction and multiple inheritance.&lt;br&gt;
3.Bydefault all methods are abstract method.&lt;br&gt;
4.Its a set of rules and interface is a Keyword&lt;br&gt;
5.Implementation: To implement an interface, we use the keyword implements&lt;/p&gt;

&lt;p&gt;interface Animal {&lt;br&gt;
    void eat();    // abstract method&lt;br&gt;
    void sleep();  // abstract method&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;class Dog implements Animal {&lt;br&gt;
    public void eat() { System.out.println("Dog is eating..."); }&lt;br&gt;
    public void sleep() { System.out.println("Dog is sleeping..."); }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;✅ What You Can Do with Interfaces&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;✔️ Define abstract methods (implicitly public and abstract).&lt;/p&gt;

&lt;p&gt;✔️ Define public static final constants (variables).&lt;/p&gt;

&lt;p&gt;✔️ Provide default methods (with body) using default keyword.&lt;/p&gt;

&lt;p&gt;✔️ Provide static methods (with body).&lt;/p&gt;

&lt;p&gt;✔️ Achieve multiple inheritance (a class can implement multiple interfaces).&lt;/p&gt;

&lt;p&gt;✔️ Achieve 100% abstraction (if only abstract methods are used).&lt;/p&gt;

&lt;p&gt;interface Vehicle {&lt;br&gt;
    void start();&lt;br&gt;
    default void stop() { System.out.println("Vehicle stopped"); }&lt;br&gt;
    static void info() { System.out.println("Vehicle interface"); }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;❌ What You Cannot Do with Interfaces&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;❌ Cannot have instance variables (only public static final).&lt;/p&gt;

&lt;p&gt;❌ Cannot have constructors (cannot create object directly).&lt;/p&gt;

&lt;p&gt;❌ Cannot contain method implementations (except default and static).&lt;/p&gt;

&lt;p&gt;❌ Cannot extend classes (but can extend other interfaces).&lt;/p&gt;

&lt;p&gt;❌ Cannot maintain state — only define behavior.&lt;/p&gt;

&lt;p&gt;interface A { void show(); }&lt;br&gt;
interface B { void display(); }&lt;/p&gt;

&lt;p&gt;class C implements A, B {&lt;br&gt;
    public void show() { System.out.println("Show from A"); }&lt;br&gt;
    public void display() { System.out.println("Display from B"); }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Let’s consider the example of Vehicles like bicycles, cars and bikes share common functionalities, which can be defined in an interface, allowing each class (e.g., Bicycle, Car, Bike) to implement them in its own way. This approach ensures code reusability, scalability and consistency across different vehicle types.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>🧬 Types of Inheritance in Java</title>
      <dc:creator>Murali Rajendran</dc:creator>
      <pubDate>Tue, 04 Nov 2025 09:29:28 +0000</pubDate>
      <link>https://dev.to/murali_rajendran_8c84570f/types-of-inheritance-in-java-2cde</link>
      <guid>https://dev.to/murali_rajendran_8c84570f/types-of-inheritance-in-java-2cde</guid>
      <description>&lt;p&gt;Inheritance in Java allows one class to acquire properties and behaviors (fields and methods) of another class. It promotes code reusability and method overriding.&lt;/p&gt;

&lt;p&gt;Types:&lt;br&gt;
1.1. Single Inheritance&lt;/p&gt;

&lt;p&gt;A subclass inherits from one superclass.&lt;/p&gt;

&lt;p&gt;class Animal {&lt;br&gt;
    void eat() { System.out.println("Eating..."); }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;class Dog extends Animal {&lt;br&gt;
    void bark() { System.out.println("Barking..."); }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;2.2. Multilevel Inheritance&lt;/p&gt;

&lt;p&gt;A chain of inheritance.&lt;/p&gt;

&lt;p&gt;// Parent class&lt;br&gt;
class Animal {&lt;br&gt;
    void sound() {&lt;br&gt;
        System.out.println("Animal makes a sound");&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// Child class&lt;br&gt;
class Dog extends Animal {&lt;br&gt;
    void sound() {&lt;br&gt;
        System.out.println("Dog barks");&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// Child class&lt;br&gt;
class Cat extends Animal {&lt;br&gt;
    void sound() {&lt;br&gt;
        System.out.println("Cat meows");&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// Child class&lt;br&gt;
class Cow extends Animal {&lt;br&gt;
    void sound() {&lt;br&gt;
        System.out.println("Cow moos");&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;// Main class&lt;br&gt;
public class Geeks {&lt;br&gt;
    public static void main(String[] args) {&lt;br&gt;
        Animal a;&lt;br&gt;
        a = new Dog();&lt;br&gt;
        a.sound();  &lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    a = new Cat();
    a.sound(); 

    a = new Cow();
    a.sound();  
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;}&lt;/p&gt;

&lt;p&gt;3.3. Hierarchical Inheritance&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Multiple subclasses inherit from one superclass.&lt;/li&gt;
&lt;li&gt;In hierarchical inheritance, more than one subclass is inherited from a single base class. i.e. more than one derived class is created from a single base class.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;class Vehicle {&lt;br&gt;
    Vehicle() {&lt;br&gt;
        System.out.println("This is a Vehicle");&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;class Car extends Vehicle {&lt;br&gt;
    Car() {&lt;br&gt;
        System.out.println("This Vehicle is Car");&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;class Bus extends Vehicle {&lt;br&gt;
    Bus() {&lt;br&gt;
        System.out.println("This Vehicle is Bus");&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;public class Test {&lt;br&gt;
    public static void main(String[] args) {&lt;br&gt;
        Car obj1 = new Car(); &lt;br&gt;
        Bus obj2 = new Bus(); &lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;4.Multiple Inheritance (via Interface)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Java doesn’t support multiple inheritance with classes — to avoid ambiguity —&lt;/li&gt;
&lt;li&gt;The interfaces allow it.&lt;/li&gt;
&lt;li&gt;The Java does not support multiple inheritances with classes. In Java, we can achieve multiple inheritances only through Interfaces.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;interface A { void show(); }&lt;br&gt;
interface B { void display(); }&lt;/p&gt;

&lt;p&gt;class C implements A, B {&lt;br&gt;
    public voiIt is a mix of two or more of the above types of inheritance. In Java, we can achieve hybrid inheritance only through Interfaces d show() { System.out.println("Show"); }&lt;br&gt;
    public void display() { System.out.println("Display"); }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;5.Hybrid Inheritance&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Combination of more than one type (e.g., multiple + multilevel).&lt;/li&gt;
&lt;li&gt;Achieved using interfaces only.. &lt;/li&gt;
&lt;li&gt;It is a mix of two or more of the above types of inheritance. In Java, we can achieve hybrid inheritance only through Interfaces &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Type              Example   Supported by&lt;br&gt;
Single             A → B    Classes&lt;br&gt;
Multilevel    A → B → C   Classes&lt;br&gt;
Hierarchical     A → B, A → C     Classes&lt;br&gt;
Multiple      A, B → C      Interfaces&lt;br&gt;
Hybrid           Combination      Interfaces&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>tutorial</category>
      <category>programming</category>
      <category>java</category>
    </item>
    <item>
      <title>🧬 What Is Inheritance?</title>
      <dc:creator>Murali Rajendran</dc:creator>
      <pubDate>Tue, 04 Nov 2025 09:01:43 +0000</pubDate>
      <link>https://dev.to/murali_rajendran_8c84570f/what-is-inheritance-4o2d</link>
      <guid>https://dev.to/murali_rajendran_8c84570f/what-is-inheritance-4o2d</guid>
      <description>&lt;p&gt;1.Inheritance is when one class acquires the properties and behaviors (fields and methods) of another class.&lt;br&gt;
2.It helps you reuse code, avoid duplication, and organize your program logically.&lt;br&gt;
&lt;strong&gt;👉 In simple words:&lt;/strong&gt;&lt;br&gt;
3.A child class (subclass) can inherit from a parent class (superclass).&lt;br&gt;
4.A class which is inherits from another class. A child class/subclass behave like a parent class or base class.&lt;br&gt;
4.The class that inherits from another class. It can also be called a derived class or extended class.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;extends keyword:&lt;/strong&gt; 
Used to establish the inheritance relationship. A subclass uses extends to inherit from a superclass.&lt;/li&gt;
&lt;/ol&gt;

</description>
    </item>
    <item>
      <title>What is a Constructor?</title>
      <dc:creator>Murali Rajendran</dc:creator>
      <pubDate>Tue, 04 Nov 2025 09:00:27 +0000</pubDate>
      <link>https://dev.to/murali_rajendran_8c84570f/what-is-a-constructor-1ej1</link>
      <guid>https://dev.to/murali_rajendran_8c84570f/what-is-a-constructor-1ej1</guid>
      <description>&lt;p&gt;A constructor is like a “welcome setup” that runs automatically when an object is created.&lt;br&gt;
Think of it like a welcome gift pack 🛍️ — whenever you create a new object, Java runs the constructor to set up initial values.&lt;br&gt;
🔹 Syntax:&lt;br&gt;
class ClassName {&lt;br&gt;
    ClassName() {&lt;br&gt;
        // setup code (like a welcome gift)&lt;br&gt;
    }&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;🧩 &lt;strong&gt;3 Types of Constructors:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Type    Example Description&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Default constructor&lt;/strong&gt; SuperMarket() {}&lt;br&gt;
    Created automatically by Java if you don’t make one yourself. It sets default values (0, null, false).&lt;br&gt;
&lt;strong&gt;No-parameter constructor&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
SuperMarket() { groceryProductPrice = 50; }&lt;br&gt;
    You create it manually. It has no parameters but assigns custom default values.&lt;br&gt;
&lt;strong&gt;Parameterized constructor&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
SuperMarket(int groceryProductPrice, int choc) { ... }&lt;br&gt;
    You pass values while creating an object.&lt;/p&gt;

&lt;p&gt;🧠 &lt;strong&gt;2. this Keyword&lt;/strong&gt; — “I belong to this object”&lt;br&gt;
👉 Think of this as “me” inside the class.&lt;br&gt;
When a local variable name is same as an instance variable name, this helps Java understand which one belongs to the object.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>java</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>🎁 5. Wrapper Classes</title>
      <dc:creator>Murali Rajendran</dc:creator>
      <pubDate>Tue, 04 Nov 2025 08:58:03 +0000</pubDate>
      <link>https://dev.to/murali_rajendran_8c84570f/5-wrapper-classes-574f</link>
      <guid>https://dev.to/murali_rajendran_8c84570f/5-wrapper-classes-574f</guid>
      <description>&lt;p&gt;Wrapper classes “wrap” primitive data types into objects (useful for collections, null handling, etc.)&lt;br&gt;
Primitive   Wrapper Class&lt;br&gt;
byte               Byte&lt;br&gt;
short              Short&lt;br&gt;
int            Integer&lt;br&gt;
long               Long&lt;br&gt;
float              Float&lt;br&gt;
double             Double&lt;br&gt;
char               Character&lt;br&gt;
boolean            Boolean&lt;br&gt;
&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;int age = 10;&lt;br&gt;
Integer age1 = Integer.valueOf(age); // boxing&lt;br&gt;
&lt;strong&gt;🧩 Memory tip:&lt;/strong&gt;&lt;br&gt;
“Wrapper = gift box for primitive” 🎁&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Access Modifier #public#private#protected#default</title>
      <dc:creator>Murali Rajendran</dc:creator>
      <pubDate>Tue, 04 Nov 2025 08:50:31 +0000</pubDate>
      <link>https://dev.to/murali_rajendran_8c84570f/access-modifierpublicprivateprotecteddefault-4nh1</link>
      <guid>https://dev.to/murali_rajendran_8c84570f/access-modifierpublicprivateprotecteddefault-4nh1</guid>
      <description>&lt;p&gt;🌟 What is Access Modifier in Java?&lt;/p&gt;

&lt;p&gt;1.Access modifiers control the visibility (or accessibility) of classes, methods, and variables in Java.&lt;br&gt;
2.They define who can access what — inside or outside a class, package, or subclass.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;define how the members of a class, like variables, methods, and even the class itself, can be accessed from other parts of our program&lt;/li&gt;
&lt;li&gt;Access modifiers control the visibility of classes, methods, and variables.
&lt;strong&gt;Types:&lt;/strong&gt;
• &lt;strong&gt;public:&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt; The public access modifier is specified using the keyword public. &lt;/li&gt;
&lt;li&gt; Public members are accessible from everywhere in the program.&lt;/li&gt;
&lt;li&gt; The member is accessible from any other class.&lt;/li&gt;
&lt;li&gt; Typical Use-Common for APIs or utility classes&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;class Vehicle {&lt;br&gt;
    public int speed; // public member&lt;br&gt;
}&lt;/p&gt;

&lt;p&gt;• &lt;strong&gt;protected:&lt;/strong&gt; &lt;br&gt;
1.The member is accessible within its own package and by subclasses.&lt;br&gt;
2.The protected access modifier is specified using the keyword protected.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The methods or data members declared as protected are accessible within the same package or subclasses in different packages.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;class Vehicle {&lt;br&gt;
    protected int speed; // protected member&lt;br&gt;
}&lt;br&gt;
• &lt;strong&gt;default (no keyword):&lt;/strong&gt; The member is accessible only within its own package.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; When no access modifier is specified for a class, method, or data member, it is said to have the default access modifier by default.&lt;/li&gt;
&lt;li&gt; This means only classes within the same package can access it.&lt;/li&gt;
&lt;li&gt; Members with default access cannot be accessed from classes in a different package.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;• &lt;strong&gt;private:&lt;/strong&gt; The member is accessible only within its own class.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; The private access modifier is specified using the keyword private.&lt;/li&gt;
&lt;li&gt; The methods or data members declared as private are accessible only within the class in which they are declared.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;class Person {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// private variable
private String name;

public void setName(String name)  {

    this.name = name; // accessible within class
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

</description>
    </item>
    <item>
      <title>Switch case</title>
      <dc:creator>Murali Rajendran</dc:creator>
      <pubDate>Sat, 11 Oct 2025 14:45:36 +0000</pubDate>
      <link>https://dev.to/murali_rajendran_8c84570f/switch-case-b8d</link>
      <guid>https://dev.to/murali_rajendran_8c84570f/switch-case-b8d</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;p&gt;it is used since java version 1.0.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;These are the primitive data types not supported in switch.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;1.long&lt;br&gt;
2.float&lt;br&gt;
3.double&lt;br&gt;
4.boolean&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;it does not accept duplicate case.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These are the primitive data types supported in switch.&lt;/p&gt;

&lt;p&gt;1.int&lt;br&gt;
2.char&lt;br&gt;
3.short&lt;br&gt;
4.byte&lt;/p&gt;

&lt;p&gt;@ switch case used minimal code using arrow version 14 and above this .when we use arrow no  need to use break .&lt;/p&gt;

&lt;p&gt;arrow symbol&lt;/p&gt;

&lt;p&gt;int tamil = 50;&lt;br&gt;
        switch(tamil)//Expression&lt;br&gt;
        {&lt;br&gt;
        case 50 -&amp;gt; System.out.println("A Grade");&lt;br&gt;
        case 60 -&amp;gt; System.out.println("b Grade");&lt;br&gt;
        case 100 -&amp;gt; System.out.println("O Grade");&lt;br&gt;
        default -&amp;gt; System.out.println("No Grade");&lt;br&gt;
        };&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Switch case in Java</title>
      <dc:creator>Murali Rajendran</dc:creator>
      <pubDate>Sat, 11 Oct 2025 14:36:30 +0000</pubDate>
      <link>https://dev.to/murali_rajendran_8c84570f/switch-case-in-java-437b</link>
      <guid>https://dev.to/murali_rajendran_8c84570f/switch-case-in-java-437b</guid>
      <description>&lt;p&gt;It  is used to check some valid expression like Traffic light real world example.&lt;/p&gt;

&lt;p&gt;SYNTAX:&lt;/p&gt;

&lt;p&gt;String  day="laundry";&lt;br&gt;
        switch(day)&lt;br&gt;
        {&lt;br&gt;
            case "hr":&lt;br&gt;
                System.out.println("hr department");&lt;br&gt;
                break;&lt;br&gt;
            case "laundry":&lt;br&gt;
                System.out.println("laundry department");&lt;br&gt;
                break;&lt;br&gt;
            case "laundry1":&lt;br&gt;
                System.out.println("laundry department");&lt;br&gt;
            case "front office":&lt;br&gt;
                System.out.println("front king department");&lt;br&gt;
                default:&lt;br&gt;
                    System.out.println("hi welcome");&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Java Translator</title>
      <dc:creator>Murali Rajendran</dc:creator>
      <pubDate>Sat, 11 Oct 2025 14:29:06 +0000</pubDate>
      <link>https://dev.to/murali_rajendran_8c84570f/java-translator-4pjo</link>
      <guid>https://dev.to/murali_rajendran_8c84570f/java-translator-4pjo</guid>
      <description>&lt;p&gt;These are Java major Role play.&lt;br&gt;
JDK--&amp;gt;JRE--&amp;gt;JVM--&amp;gt;JIT&lt;/p&gt;

&lt;p&gt;*when compile the java code if no error JDK will create a .class file (byte code)then pass to JRE it create environment for run the code .Then JVM manage garbage and memory management. Finally JIT convert byte code into BInary code.&lt;/p&gt;

&lt;p&gt;JDK-platform independent.&lt;br&gt;
JRE-platform dependent.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Data Types</title>
      <dc:creator>Murali Rajendran</dc:creator>
      <pubDate>Sat, 11 Oct 2025 14:19:37 +0000</pubDate>
      <link>https://dev.to/murali_rajendran_8c84570f/data-types-47hp</link>
      <guid>https://dev.to/murali_rajendran_8c84570f/data-types-47hp</guid>
      <description>&lt;p&gt;Types&lt;br&gt;
1.Primitive data types-Primitive data types store value to Stack in RAM.&lt;br&gt;
2.Non- Primitive data types- store value to Heap in RAM.&lt;br&gt;
Primitive data types:&lt;br&gt;
1.int&lt;br&gt;
2.char&lt;br&gt;
3.byte&lt;br&gt;
4.short&lt;br&gt;
5.long&lt;br&gt;
6.double&lt;br&gt;
7.boolean&lt;br&gt;
8.float&lt;br&gt;
Good Developers must know how to use data type in efficient way to manage memory allocation.&lt;/p&gt;

</description>
      <category>programming</category>
      <category>beginners</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
