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

Step-by-Step: Launch Browser, Context, and Page in Playwright and Run Test and Configuration (JavaScript)

🎥 Setup Browser, Context, Page & Run Config Test Scripts with package.json & playwright.config.js Step-by-Step: Launch Browser, Context, and Page in Playwright and Run Test and Configuration (JavaScript) 1. Install Playwright You can install Playwright using the following command: npm init playwright@latest 2. Create a Basic Test Script Understand the core Playwright architecture: Element Description browser Controls the browser instance (like Chrome, Firefox, etc.) context Acts like a separate browser profile (cookies, localStorage are isolated) page A single browser tab where interaction happens 3. Run the Test npx playwright test example.spec.js Ways to Run TypeScript Tests Way Command Notes 🟢 Via npx npx playwright test Uses built-in TypeScript support 🟢 With s...

Playwright Test Structure in Details -Session-02

🎥 Playwright: test.only, Hooks & Grouping with test.describe Explained Let’s go step-by-step , showing how to build from a single test , to using beforeEach / afterEach , and then organizing things with test.describe . ✅ Step 1: Basic Single Test with test.only import { test, expect } from '@playwright/test' ; test. only ( '🚀 Basic test - check title' , async ({ page }) => { await page. goto ( 'https://example.com' ); await expect (page). toHaveTitle ( /Example Domain/ ); }); test.only ensures only this test runs — great for debugging. ✅ Step 2: Add beforeEach and afterEach import { test, expect } from '@playwright/test' ; test. beforeEach ( async ({ page }) => { console . log ( '🔄 Setting up before each test' ); await page. goto ( 'https://example.com' ); }); test. afterEach ( async ({ page }, testInfo) => { console . log ( `📦 Finished test: ${testInfo.title} `); }); test. only ( ...

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));     ...