class One {
Two two() {
return new Two() {
Two(){}
Two(String s) {
System.out.println("s= "+s);
}
};
}
}
class Ajay {
public static void main(String ...strings ){
One one=new One();
System.out.println(one.two());
}
}
The above sample code cannot be compiled.It says "Two cannot be resolved". What is the problem in this code??
An anonymous inner class is called anonymous because it doesn't have its own name and has to be referred to by the name of the base-class or interface it extends/implements.
In your example you create an anonymous subclass of
Two
soTwo
has to be declared somewhere either as a class or interface. If the class Two is already declared you either don't have it on your classpath or forgot to import it.