public class ClassVar2 { public static double a; // <----- Class variable public static void main(String[] args) { // Body of method "main" a = 3.1415; // We can omit the classname in this method System.out.println(a); } } |
|
public class ClassVar4 { public static double a = 3.1415; public static void main(String[] args) { boolean a = true; // Class var a now "shadowed" System.out.println( a ); // prints true System.out.println( ClassVar4.a ); // prints 3.1415 } } |
|
Example:
public class BankAccount { public int accNum; // public String name; // public double balance; // Shadowed ! /* ============================================== convToString(): return a String containing information of BankAccount ============================================== */ public String convToString( ) { return( "Account number: " + accNum + ", Name: " + name + ", Balance: " + balance); } /* ===================================================== deposit(balance): Add "parameter balance" to balance ===================================================== */ public void deposit( double balance ) { balance += balance; // Add parameter balance to (this.)balance } /* ============================================================ withdraw(balance): Subtract "parameter balance" from balance ============================================================ */ public void withdraw( double balance ) { if ( balance >= balance ) balance -= balance; // Subtract parameter balance from (this.)balance } } |
Problem:
|
Note:
|
|
public class BankAccount { public int accNum; public String name; public double balance; // Shadowed ! /* ============================================== convToString(): return a String containing information of BankAccount ============================================== */ public String convToString( ) { return( "Account number: " + accNum + ", Name: " + name + ", Balance: " + balance); } /* ======================================================= deposit(balance): Add "parameter balance" to balance ======================================================= */ public void deposit( double balance ) { this.balance += balance; // Add parameter balance to this.balance } /* =============================================================== withdraw(balance): Subtract "parameter balance" from balance =============================================================== */ public void withdraw( double balance ) { if ( this.balance >= balance ) this.balance -= balance; // Subtract parameter balance from this.balance } } |
Output: (unchanged)
stu1: Account number: 12345, Name: Mary, Balance: 1000.0 After depsoiting $450: Account number: 12345, Name: Mary, Balance: 1450.0 After withdraw $100: Account number: 12345, Name: Mary, Balance: 1350.0 |
How to run the program:
|