Java static method

Created By: chatGPT

In Java, a static method belongs to the class rather than to any specific instance. This means that you can call a static method without creating an instance of the class. Static methods can only directly access other static members (variables or methods) of the class.
class Example {
    static void displayMessage() {
        System.out.println("Hello, World!");
    }

    public static void main(String[] args) {
        // Calling static method directly using the class name
        Example.displayMessage();
    }
}
Static methods are often used for utility or helper methods that do not require any object state. For instance, the Math class in Java has many static methods to perform mathematical operations.
public class MathUtil {
    static int add(int a, int b) {
        return a + b;
    }

    public static void main(String[] args) {
        int sum = MathUtil.add(5, 10);
        System.out.println("Sum: " + sum);
    }
}
However, remember that static methods cannot access instance variables or instance methods directly. If a static method needs to work with instance data, it must do so through an object reference.
class Person {
    String name;

    Person(String name) {
        this.name = name;
    }

    static void greet(Person p) {
        System.out.println("Hello, " + p.name);
    }

    public static void main(String[] args) {
        Person person = new Person("Alice");
        Person.greet(person);
    }
}
In summary, static methods are an essential part of Java programming, providing a way to define behavior at the class level rather than the instance level. Use them when you want to create methods that do not depend on instance variables, leading to reusable code and improved organization.
class Demo {
    static double square(double num) {
        return num * num;
    }

    public static void main(String[] args) {
        double result = Demo.square(4.5);
        System.out.println("Square: " + result);
    }
}
Introduction And SetupVariablesData TypesIntFloatDoubleCharBooleanStringByteShortLongArrayListMethodVoidReturnParametersArgumentsControl FlowIf StatementElse StatementElse If StatementSwitch StatementCaseBreakContinueFor LoopWhile LoopDo While LoopEnhanced For LoopFunctionsStatic MethodInstance MethodConstructorOverloadingOverridingAccess ModifiersPrivateProtectedPackage PrivateOperatorsArithmetic OperatorsRelational OperatorsLogical OperatorsBitwise OperatorsAssignment OperatorsTernary OperatorInstanceof OperatorArrayListSetMapHashmapHashtableQueStackCommentsSingle Line CommentMulti Line CommentSyntaxSemicolonsCurly BracesParenthesesData EncapsulationInheritancePolymorphismAbstract ClassInterfaceException HandlingTry BlockCatch BlockFinally BlockThrowThrowsChecked ExceptionUnchecked ExceptionSyntax ErrorsRuntime ErrorsLogic ErrorsEvent HandlingListenersAction EventsMouse EventsKeyboard EventsWindow EventsFocus EventsKey ListenerMouse ListenerAction ListenerThreadingSynchronizationVolatile KeywordConcurrencyJava Memory Model