Annymous Inner Classes

hey, I'm trying to do this exercise about using inner classes to implement factories. in an interfaces chapter I used interfaces to implement factories like...

package ex18;

interface Cycle{}

interface CycleFactory{

Cycle getCycle();

}

class Unicycleimplements Cycle{

Unicycle(){

System.out.println("Unicycle");

}

}

class UnicycleFactoryimplements CycleFactory{

public Cycle getCycle(){

// TODO Auto-generated method stub

returnnew Unicycle();

}

}

class Bicycleimplements Cycle{

Bicycle(){

System.out.println("Bicycle");

}

}

class BicycleFactoryimplements CycleFactory{

public Cycle getCycle(){

// TODO Auto-generated method stub

returnnew Bicycle();

}

}

class Tricycleimplements Cycle{

Tricycle(){

System.out.println("Tricycle");

}

}

class TricycleFactoryimplements CycleFactory{

public Cycle getCycle(){

// TODO Auto-generated method stub

returnnew Tricycle();

}

}

publicclass Ex18{

publicstaticvoid cycleConsumer(CycleFactory fact){

Cycle cycle = fact.getCycle();

}

publicstaticvoid main(String[] args){

// TODO Auto-generated method stub

cycleConsumer(new UnicycleFactory());

cycleConsumer(new BicycleFactory());

cycleConsumer(new TricycleFactory());

}

}

So now I'm supposed to modify the above so that it uses inner classes. This is what I've come up with so far...

package ex16;

interface Cycle{}

interface CycleFactory{

Cycle getCycle();

}

class Unicycleimplements Cycle{

public Cycle getUnicycle(){

returnnew Cycle(){

//This doesn't work

//Syntax error on token(s), misplaced construct(s)

//System.out.println("Anonymous Unicycle");

};

}

}

class UnicycleFactoryimplements CycleFactory{

public Cycle getCycle(){

Unicycle unicycle =new Unicycle();

returnnew Unicycle().getUnicycle();

}

}

publicclass Ex16{

publicstaticvoid cycleConsumer(CycleFactory fact){

Cycle cycle = fact.getCycle();

}

publicstaticvoid main(String[] args){

// TODO Auto-generated method stub

cycleConsumer(new UnicycleFactory());

}

}

Can you tell me how I should use AICs to implement factories?

[6143 byte] By [brettosm8a] at [2007-11-27 2:08:06]
# 1
any responses?
brettosm8a at 2007-7-12 1:57:08 > top of Java-index,Java Essentials,New To Java...
# 2

I'd say something more like this:

interface CycleFactory {

Cycle make();

}

class Cycle {

}

public class TheCycle {

public static void main(String[] argv) {

Cycle cycle = new CycleFactory() {

public Cycle make() {

return new Cycle();

}

}.make();

}

}

abillconsla at 2007-7-12 1:57:08 > top of Java-index,Java Essentials,New To Java...