This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes constructor's call Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "constructor Watch "constructor New topic

constructor's call

Suhita Reddy
Ranch Hand

Joined: Jun 09, 2006
Posts: 60

wht's the o/p of this?can any one explain the flow of pgm?

// file

package a;

public class TestA {
protected int i = 1;
}// file

package b;

import a.TestA;

public class TestB extends TestA {

static int i = 2;

public static void main(String[] args){
TestB testB = new TestB();
TestC testC = new TestC();

public void test(){
System.out.println("TestB i=" + i);

static class TestC{
static int i = 3;
public void test(){
System.out.println("TestC i=" + i);

Keith Lynn
Ranch Hand

Joined: Feb 07, 2005
Posts: 2367
The output is pretty straightforward.

The answer really doesn't depend on constructors.

In both TestB, TestC, and TestA, default constructors are created.

The method in TestB prints out 2, and the method in TestC prints out 3.
wise owen
Ranch Hand

Joined: Feb 02, 2006
Posts: 2023
The question tests the concept of "variable hiding and shadowing".
It is sorta covered in the JavaRanch Style Guide.
subject: constructor's call
Similar Threads
When the a, and b are eligible for GC?
abstract class
Using super and this in the constructor together