blob: 3d1c40e40d4748263af8ea59e33ceb997c388e92 [file] [log] [blame]
// Copyright (c) 2016, the R8 project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
package shaking12;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class Shaking {
static private Named createInstance(Class<? extends Named> aClass) {
try {
return aClass.newInstance();
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
return new Named() {
@Override
public String getName() {
return "Unknown";
}
};
}
public static void main(String[] args) {
List<Class<? extends Named>> classes = new ArrayList<>(3);
classes.add(MetaphorClass.class);
classes.add(PeopleClass.class);
classes.add(ThingClass.class);
Iterator<Class<? extends Named>> iterator = classes.iterator();
iterator.next();
while (iterator.hasNext()) {
Named item = createInstance(iterator.next());
if (item instanceof AnimalClass) {
System.out.println("An animal!");
}
System.out.println(createInstance(iterator.next()).getName());
}
}
}