• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Anonymous inner class

 
Shiva Mohan
Ranch Hand
Posts: 486
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator


Anonymous class method is sizzle().But Anonymous class instance(myAccess) is not accepting sizzle() method.Why and how can I access sizzle() method.Please help me.
 
Wally Valters
Greenhorn
Posts: 3
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
As I see it you cannot. Because your anonymous inner class is a SUBCLASS of Popcorn and is being accessed by a reference of type Popcorn. So only methods defined in Popcorn (or its superclasses etc) can be accessed.
 
Shashidhar Gajula
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
see the below code you will realize the things

class Popcorn {
public void pop() {

System.out.println("popcorn");
}

}

class MyInner{

//----------------------------outer class

Popcorn p=new Popcorn() {

//----------------------------anonymous inner class
public void sizzle() {

System.out.println("anonymous sizzing popcorn");

}
};

public void priya() {

(new Popcorn() {

//----------------------------anonymous inner class
public void sizzle() {

System.out.println("anonymous sizzing popcorn");

}
}).sizzle();
//---------------------------------will print Popcorn class pop()
}
}

class Objective15 {

public static void main(String[] args) {

MyInner outer=new MyInner();

outer.priya();

Popcorn myAccess=outer.p;

myAccess.pop();

// myAccess.sizzle();//--------------------------line1
}
}
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic