Archive for the ‘Java 5/6’ Category
Java Argument As Inner Class
interface TestInterface
{
public void testMethod();
}
class ClassA
{
public void ClassAMethod(TestInterface a)
{
System.out.println(“Class A Method”);
a.testMethod();
}
}
public class ArgumentInnerClassTest
{
public void OuterClassMethod()
{
ClassA a1 = new ClassA();
a1.ClassAMethod
(
new TestInterface()
{
public void testMethod()
{
System.out.println(“Call Test Method”);
}
}
);
}
public static void main (String[] args)
{
ArgumentInnerClassTest a1 = new ArgumentInnerClassTest();
a1.OuterClassMethod();
}
}
Java Method Local Inner Class
public class MethodLocalInnerClassOuter
{
private int testVariable1 = 10;
public void outerClassMethod()
{
class MethodLocalInnerClassInner
{
public void getTestVariable1()
{
System.out.println(“Test variable 1 = “+testVariable1);
}
}
MethodLocalInnerClassInner m = new MethodLocalInnerClassInner(); //A method local inner class can only ever be instantiated inside themethod that uses it.
m.getTestVariable1();
}
public static void main (String args[])
{
MethodLocalInnerClassOuter m1 = new MethodLocalInnerClassOuter();
m1.outerClassMethod();
}
}
Java Annonymous Inner Class (Interface) example
interface testInterface1
{
public void getTestVariable1();
}
public class AnnonymousInnerClassInterface
{
private int testVariable1 = 10;
testInterface1 t1 = new testInterface1()
{
public void getTestVariable1()
{
System.out.println(“TestVariable1 = “+testVariable1);
}
};
public void getTestVariableFromInnerClass()
{
t1.getTestVariable1();
}
public static void main (String[] args)
{
AnnonymousInnerClassInterface a1 = new AnnonymousInnerClassInterface();
a1.getTestVariableFromInnerClass();
}
}
Java Annonymous Inner Class Example
public class AnonymousInnerClass
{
private int testVariable1 = 1;
Fruit f1 = new Fruit() //Class must extend Fruit. It is not of type Fruit. It is a Polymorphic reference.
{
public void eat()
{
System.out.println(“Eat a bannana”);
System.out.println(“Test variable 1 is: “+testVariable1);
}
/*public void getColour() //Cannot do this because no getColour is Fruit class
{
System.out.println(“Colour is yellow!);
} */
};
public void eatFood()
{
f1.eat();
}
public static void main (String args[])
{
AnonymousInnerClass a1 = new AnonymousInnerClass();
a1.eatFood();
a1.f1.eat(); //You can do this.
}
}
class Fruit
{
public void eat()
{
System.out.println(“Eat fruit”);
}
}
Java Simple Method Local Inner Class Example
// D4RVCFT6PMZ9
public class InnerClassTest
{
private int testVariable1 = 1;
private int testVariable2 = 2;
void doThings()
{
class InnerClass
{
public int getTestVariable()
{
return testVariable1+testVariable2;
}
}
InnerClass ic = new InnerClass();
System.out.println(ic.getTestVariable1());
}
public static void main (String [] args)
{
InnerClassTest t1 = new InnerClassTest();
t1.doThings();
}
}


