Skip to main content

Rules for Instance Variables in Java

 

Rules for Instance Variables in Java:

  1. Declaration and Scope:

    • Declared inside a class but outside of methods, constructors, or blocks.
    • The scope of instance variables is throughout the class, except in static methods.
    java
    class Example { int instanceVar; // Instance variable }
  2. Default Values:

    • Instance variables are automatically initialized with default values if not explicitly initialized:
      • int, long, short, byte0
      • float, double0.0
      • char'\u0000'
      • booleanfalse
      • Object references → null
    java
    class Example { int num; boolean flag; String name; public void display() { System.out.println(num); // Outputs 0 System.out.println(flag); // Outputs false System.out.println(name); // Outputs null } }
  3. Access Modifiers:

    • Can have any access modifier (public, private, protected, or default).
    • Use private to ensure encapsulation and provide access through getter and setter methods.
    java
    class Example { private int age; // Encapsulation public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
  4. Instance-Specific:

    • Each instance of a class has its own copy of instance variables.
    • Modifying an instance variable in one object does not affect the same variable in another object.
    java
    class Example { int x; public static void main(String[] args) { Example obj1 = new Example(); Example obj2 = new Example(); obj1.x = 5; obj2.x = 10; System.out.println(obj1.x); // 5 System.out.println(obj2.x); // 10 } }
  5. Cannot Be Declared Static:

    • Instance variables cannot use the static modifier. If you need shared values across all instances, use static variables instead.
  6. Access from Static Methods:

    • Instance variables cannot be accessed directly within a static context (e.g., a static method). You must create an object instance to access them.
    java
    class Example { int instanceVar = 10; public static void main(String[] args) { // System.out.println(instanceVar); // ERROR Example obj = new Example(); System.out.println(obj.instanceVar); // Correct } }
  7. Final Instance Variables:

    • If an instance variable is declared final, it must be initialized either:
      • At the time of declaration, OR
      • In every constructor of the class.
    java
    class Example { final int id; Example(int id) { this.id = id; // Must initialize in constructor } }
  8. Initialization Block:

    • Instance variables can be initialized using an instance initialization block.
    java
    class Example { int x; // Instance initializer { x = 42; } }
  9. Shadowing:

    • Local variables or method parameters with the same name as an instance variable shadow the instance variable. Use this to refer to the instance variable explicitly.
    java
    class Example { int value; void setValue(int value) { this.value = value; // Refers to instance variable } }

Comments

Popular posts from this blog

Understand browser, context, and page in Playwright

๐ŸŽฅ Playwright: Browser, Context & Page - Real-time Demo and Multi-User Testing  . ๐ŸŽฏ Goal: Understand browser , context , and page in Playwright ๐Ÿง  1. What is a browser ? ✅ Definition: A browser in Playwright is a launched instance of a real browser (Chromium, Firefox, WebKit) that can be used for automated testing. ✅ Purpose: It starts and controls the browser process. It is the root of your test execution. Required to create contexts and pages . ✅ Code Example: ts Copy Edit import { chromium } from 'playwright' ; const browser = await chromium. launch ({ headless : false }); ๐Ÿง  2. What is a context (browser context)? ✅ Definition: A context is like a separate browser profile (or incognito tab) inside the browser. Each context is isolated — no cookies, local storage, or sessions are shared. ✅ Purpose: Simulates multiple users or sessions. Enables parallel and isolated testing. Allows setting user-specific prefer...

How to Maximize a Browser window using Playwright Java

  Playwright itself does not have a direct maximize () method like some other browser automation tools, but you can achieve the effect by setting the viewport to the screen size of your display. Below are ways to handle Maximize a browser in Playwright Java  ร˜   Setting the viewport to the screen size  o    setViewportSize(1920, 1080): This sets the browser window to a full HD resolution, effectively maximizing it. o    setHeadless(false): Ensures the browser runs in a visible mode so you can see the window being maximized.  Code Snapshot  Playwright playwright = Playwright. create ()   ;   Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false));     // Create a new browser context   BrowserContext context = browser.newContext(new Browser.NewContextOptions()          .setViewportSize(1920, 1080));     ...

Playwright Locators in JavaScript (Complete Guide)

๐ŸŽฏ Playwright Locators in JavaScript (Complete Guide) This guide explains each Playwright locator with: ✅ What it is ๐Ÿ• When to use ⚙️ How to use it ๐ŸŽฏ Benefits ๐Ÿงช Code Examples ๐Ÿ”น 1. Locator by ID ✅ What: Selects an element with a unique id . ๐Ÿ• When: Element has a unique id . ⚙️ How: page.locator('#username') ๐ŸŽฏ Benefit: Fast and reliable. <input id="username" /> await page.locator('#username').fill('John'); ๐Ÿ”น 2. Locator by Class ✅ What: Selects by class . ๐Ÿ• When: Repeated or styled elements. ⚙️ How: page.locator('.password') ๐ŸŽฏ Benefit: Useful for shared styling. <input class="password" /> await page.locator('.password').fill('12345'); ๐Ÿ”น 3. Locator by Text ✅ What: Matches visible element text. ๐Ÿ• When: For buttons, links, etc. ⚙️ How: page.getByText('Login') ๐ŸŽฏ Benefit: Human-readable. <button>Login...