目录
14th_Inner
01th
InnerDemo.java
java
class Outer {
private int a = 10;
class Inner {
public void printInfo(){
System.out.println("a = "+a);
}
}
}
public class InnerDemo {
public static void main(String args[]) {
Outer o = new Outer();
Outer.Inner i = o.new Inner();
i.printInfo();
}
}
02th
InnerDemo.java
java
class Outer {
private static int a = 10;
static class Inner {
public void printInfo(){
System.out.println("a = "+a);
}
}
}
public class InnerDemo {
public static void main(String args[]) {
//Outer o = new Outer();
//Outer.Inner i = o.new Inner();
Outer.Inner i = new Outer.Inner();
i.printInfo();
}
}
03th
Anony.java
java
interface A {
public void printInfo();
}
class B implements A {
public void printInfo() {
System.out.println("Hello, world!");
}
}
public class Anony {
public static void main(String args[]) {
testFunc(new B());
testFunc(new A(){
public void printInfo() {
System.out.println("Hello, world2!");
}
});
}
public static void testFunc(A a) {
a.printInfo();
}
}
15th_Generics
01th
Generics.java
java
class Person<T> {
private T age;
public void setAge(T age) {
this.age = age;
}
public T getAge() {
return this.age;
}
}
public class Generics {
public static void main(String args[]) {
Person<String> p = new Person<String>();
p.setAge("3 years old");
System.out.println(p.getAge());
Person<Integer> p2 = new Person<Integer>();
p2.setAge(3);
System.out.println(p2.getAge());
}
}
02th
Generics.java
java
class Person<T> {
private T age;
public void setAge(T age) {
this.age = age;
}
public T getAge() {
return this.age;
}
}
public class Generics {
public static void main(String args[]) {
Person<String> p = new Person<String>();
p.setAge("3 years old");
//System.out.println(p.getAge());
printInfo(p);
Person<Integer> p2 = new Person<Integer>();
p2.setAge(3);
//System.out.println(p2.getAge());
printInfo(p2);
Person<?> p3;
p3 = p;
//p3.setAge("4 years");
p3.getAge();
}
public static void printInfo(Person<?> p) {
System.out.println(p.getAge());
}
}
03th
Generics.java
java
class Person<T> {
private T age;
public void setAge(T age) {
this.age = age;
}
public T getAge() {
return this.age;
}
}
public class Generics {
public static void main(String args[]) {
Person<String> p = new Person<String>();
p.setAge("3 years old");
//System.out.println(p.getAge());
printInfo(p);
Person<Integer> p2 = new Person<Integer>();
p2.setAge(3);
//System.out.println(p2.getAge());
printInfo(p2);
Person<?> p3;
p3 = p;
//p3.setAge("4 years");
p3.getAge();
printInfo2(p);
printInfo2(p2);
printInfo2(p3);
}
public static void printInfo(Person<?> p) {
System.out.println(p.getAge());
}
public static <T> void printInfo2(Person<T> p) {
System.out.println(p.getAge());
}
}
04th
Generics.java
java
class Person<T> {
private T age;
public void setAge(T age) {
this.age = age;
}
public T getAge() {
return this.age;
}
}
class Student<T> extends Person<T> {
}
class Student2 extends Person<String> {
}
public class Generics {
public static void main(String args[]) {
Person<String> p = new Person<String>();
p.setAge("3 years old");
//System.out.println(p.getAge());
printInfo(p);
Person<Integer> p2 = new Person<Integer>();
p2.setAge(3);
//System.out.println(p2.getAge());
printInfo(p2);
Person<?> p3;
p3 = p;
//p3.setAge("4 years");
p3.getAge();
printInfo2(p);
printInfo2(p2);
printInfo2(p3);
Student<Integer> s = new Student<Integer>();
s.setAge(10);
printInfo(s);
Student2 s2 = new Student2();
s2.setAge("11 years");
printInfo(s2);
}
public static void printInfo(Person<?> p) {
System.out.println(p.getAge());
}
public static <T> void printInfo2(Person<T> p) {
System.out.println(p.getAge());
}
}
05th
Generics.java
java
interface Person<T> {
public void setAge(T age);
public T getAge();
}
class Student<T> implements Person<T> {
T age;
public void setAge(T age)
{
this.age = age;
}
public T getAge() {
return this.age;
}
}
class Student2 implements Person<String> {
String age;
public void setAge(String age)
{
this.age = age;
}
public String getAge() {
return this.age;
}
}
public class Generics {
public static void main(String args[]) {
Student<Integer> s = new Student<Integer>();
s.setAge(10);
printInfo(s);
Student2 s2 = new Student2();
s2.setAge("11 years");
printInfo(s2);
}
public static void printInfo(Person<?> p) {
System.out.println(p.getAge());
}
public static <T> void printInfo2(Person<T> p) {
System.out.println(p.getAge());
}
}
06th
Generics.java
java
interface Person<T> {
public void setAge(T age);
public T getAge();
}
/* Integer, Float */
class Student<T extends Number> implements Person<T> {
T age;
public void setAge(T age)
{
this.age = age;
}
public T getAge() {
return this.age;
}
}
class Student2 implements Person<String> {
String age;
public void setAge(String age)
{
this.age = age;
}
public String getAge() {
return this.age;
}
}
public class Generics {
public static void main(String args[]) {
Student<Integer> s = new Student<Integer>();
s.setAge(10);
printInfo(s);
Student2 s2 = new Student2();
s2.setAge("11 years");
printInfo(s2);
}
public static void printInfo(Person<?> p) {
System.out.println(p.getAge());
}
public static <T> void printInfo2(Person<T> p) {
System.out.println(p.getAge());
}
}
07th
Generics.java
java
interface Person<T> {
public void setAge(T age);
public T getAge();
}
class Student<T> implements Person<T> {
T age;
public void setAge(T age)
{
this.age = age;
}
public T getAge() {
return this.age;
}
}
class Student2 implements Person<String> {
String age;
public void setAge(String age)
{
this.age = age;
}
public String getAge() {
return this.age;
}
}
public class Generics {
public static void main(String args[]) {
Student<String> s = new Student<String>();
s.setAge("10");
printInfo(s);
Student2 s2 = new Student2();
s2.setAge("11 years");
printInfo(s2);
}
public static void printInfo(Person<? super String> p) {
System.out.println(p.getAge());
}
public static <T> void printInfo2(Person<T> p) {
System.out.println(p.getAge());
}
}
16th_Reflect
01th
文件路径a->b->c->d
Reflect.java
java
package a.b.c.d;
class Person {
private String name;
void setName(String name) { this.name = name; }
String getName() { return this.name; }
};
public class Reflect {
public static void main(String args[]) {
Person p = new Person();
Class<?> c1 = null;
try {
c1 = Class.forName("a.b.c.d.Person");
} catch (ClassNotFoundException e) {
System.out.println(e);
}
Class<?> c2 = p.getClass();
Class<?> c3 = Person.class;
System.out.println(c1.getName());
System.out.println(c2.getName());
System.out.println(c3.getName());
}
}
02th
文件路径a->b->c->d
Reflect.java
java
package a.b.c.d;
class Person {
private String name;
void setName(String name) { this.name = name; }
String getName() { return this.name; }
};
public class Reflect {
public static void main(String args[]) {
Person p = new Person();
Class<?> c1 = null;
try {
c1 = Class.forName("a.b.c.d.Person");
} catch (ClassNotFoundException e) {
System.out.println(e);
}
Class<?> c2 = p.getClass();
Class<?> c3 = Person.class;
System.out.println(c1.getName());
System.out.println(c2.getName());
System.out.println(c3.getName());
int arr[] = {1,2,3};
int arr2[][] = {{1,2,3,4},{1}};
Class<?> c4 = arr.getClass();
Class<?> c5 = arr.getClass();
Class<?> c6 = int.class;
System.out.println(c4.getName());
System.out.println(c5.getName());
System.out.println(c6.getName());
System.out.println((c4 == c5));
System.out.println((c4 == c6));
}
}
03th
文件路径a->b->c->d
Person.java
java
package a.b.c.d;
public class Person {
private String name;
void setName(String name) { this.name = name; }
String getName() { return this.name; }
public Person() {
System.out.println("Constructor of Person");
}
public Person(String name) {
this.name = name;
System.out.println("Constructor2 of Person, name is "+this.name);
}
};
根目录
Reflect.java
java
//import a.b.c.d.Person;
import java.lang.reflect.Constructor;
public class Reflect {
public static void main(String args[]) throws Exception {
Class<?> c = null;
try {
c = Class.forName("a.b.c.d.Person");
} catch (ClassNotFoundException e) {
System.out.println(e);
}
Object p = null;
try {
p = c.newInstance();
} catch (InstantiationException e) {
System.out.println(e);
}
Constructor<?> con = c.getConstructor(String.class);
Object p2 = con.newInstance("weidongshan");
}
}
04th
文件路径a->b->c->d
Person.class文件打不开
Person.java
java
package a.b.c.d;
public class Person {
private String name;
public void setName(String name) { this.name = name; }
public String getName() { return this.name; }
public Person() {
System.out.println("Constructor of Person");
}
public Person(String name) {
this.name = name;
System.out.println("Constructor2 of Person, name is "+this.name);
}
};
Reflect.class文件打不开
Reflect.java
java
//import a.b.c.d.Person;
import java.lang.reflect.Constructor;
public class Reflect {
public static void main(String args[]) throws Exception {
Class<?> c = null;
try {
c = Class.forName("a.b.c.d.Person");
} catch (ClassNotFoundException e) {
System.out.println(e);
}
Object p = null;
try {
p = c.newInstance();
} catch (InstantiationException e) {
System.out.println(e);
}
Constructor<?> con = c.getConstructor(String.class);
Object p2 = con.newInstance("weidongshan");
}
}
根路径
Reflect.java
java
//import a.b.c.d.Person;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
public class Reflect {
public static void main(String args[]) throws Exception {
Class<?> c = null;
try {
c = Class.forName("a.b.c.d.Person");
} catch (ClassNotFoundException e) {
System.out.println(e);
}
Object p = null;
try {
p = c.newInstance();
} catch (InstantiationException e) {
System.out.println(e);
}
Constructor<?> con = c.getConstructor(String.class);
Object p2 = con.newInstance("weidongshan");
Method set = c.getMethod("setName", String.class);
set.invoke(p2, "123");
set.invoke(p, "abc");
Method get = c.getMethod("getName");
System.out.println(get.invoke(p));
System.out.println(get.invoke(p2));
}
}
05th
文件路径a->b->c->d
Person.java
java
package a.b.c.d;
public class Person {
public String name;
public void setName(String name) { this.name = name; }
public String getName() { return this.name; }
public Person() {
System.out.println("Constructor of Person");
}
public Person(String name) {
this.name = name;
System.out.println("Constructor2 of Person, name is "+this.name);
}
};
Reflect.java
java
//import a.b.c.d.Person;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.lang.reflect.Field;
public class Reflect {
public static void main(String args[]) throws Exception {
Class<?> c = null;
try {
c = Class.forName("a.b.c.d.Person");
} catch (ClassNotFoundException e) {
System.out.println(e);
}
Object p = null;
try {
p = c.newInstance();
} catch (InstantiationException e) {
System.out.println(e);
}
Constructor<?> con = c.getConstructor(String.class);
Object p2 = con.newInstance("weidongshan");
Method set = c.getMethod("setName", String.class);
set.invoke(p2, "123");
set.invoke(p, "abc");
Method get = c.getMethod("getName");
System.out.println(get.invoke(p));
System.out.println(get.invoke(p2));
Field name = c.getDeclaredField("name");
//name.setAccessible(true);
name.set(p, "www");
name.set(p2, "100ask");
System.out.println(name.get(p));
System.out.println(name.get(p2));
}
}
06th
文件路径a->b->c->d
Person.java
java
package a.b.c.d;
public class Person {
public String name;
public void setName(String name) { this.name = name; }
public String getName() { return this.name; }
public Person() {
System.out.println("Constructor of Person");
}
public Person(String name) {
this.name = name;
System.out.println("Constructor2 of Person, name is "+this.name);
}
};
Student.java
java
package a.b.c.d;
public class Student {
public String name;
public void setName(String name) { this.name = name; }
public String getName() { return this.name; }
public Student() {
System.out.println("Constructor of Student");
}
public Student(String name) {
this.name = name;
System.out.println("Constructor2 of Student, name is "+this.name);
}
};
根路径
Reflect.java
java
//import a.b.c.d.Person;
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.lang.reflect.Field;
public class Reflect {
public static void main(String args[]) throws Exception {
Class<?> c = null;
try {
c = Class.forName(args[0]);
} catch (ClassNotFoundException e) {
System.out.println(e);
}
Object p = null;
try {
p = c.newInstance();
} catch (InstantiationException e) {
System.out.println(e);
}
Constructor<?> con = c.getConstructor(String.class);
Object p2 = con.newInstance("weidongshan");
Method set = c.getMethod("setName", String.class);
set.invoke(p2, "123");
set.invoke(p, "abc");
Method get = c.getMethod("getName");
System.out.println(get.invoke(p));
System.out.println(get.invoke(p2));
Field name = c.getDeclaredField("name");
//name.setAccessible(true);
name.set(p, "www");
name.set(p2, "100ask");
System.out.println(name.get(p));
System.out.println(name.get(p2));
}
}