blob: 0d2e7adfd12db9c83f1adebe9457333b00da3cc6 [file] [log] [blame]
// Copyright 2007 The Android Open Source Project
/**
* Test instance creation.
*/
public class Main {
public static void main(String[] args) {
// should succeed
try {
Class c = Class.forName("LocalClass");
Object obj = c.newInstance();
System.out.println("LocalClass succeeded");
} catch (Exception ex) {
ex.printStackTrace();
}
// should fail
try {
Class c = Class.forName("otherpackage.PackageAccess");
Object obj = c.newInstance();
System.out.println("ERROR: PackageAccess succeeded unexpectedly");
} catch (IllegalAccessException iae) {
System.out.println("Got expected PackageAccess complaint");
} catch (Exception ex) {
ex.printStackTrace();
}
LocalClass2.main();
}
}
class LocalClass {
// this class has a default constructor with package visibility
}
class LocalClass2 {
public static void main() {
try {
CC.newInstance();
System.out.println("LocalClass2 succeeded");
} catch (Exception ex) {
ex.printStackTrace();
}
}
static class CC {
private CC() {}
static Object newInstance() {
try {
Class c = CC.class;
return c.newInstance();
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
}
}