Android java 学习笔记3

目录

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));
		
	}
}
相关推荐
玄〤5 小时前
Java 大数据量输入输出优化方案详解:从 Scanner 到手写快读(含漫画解析)
java·开发语言·笔记·算法
tb_first5 小时前
SSM速通3
java·jvm·spring boot·mybatis
独自破碎E5 小时前
总持续时间可被 60 整除的歌曲
java·开发语言
Python+JAVA+大数据5 小时前
TCP_IP协议栈深度解析
java·网络·python·网络协议·tcp/ip·计算机网络·三次握手
丶小鱼丶5 小时前
Java基础之【多线程】
java
东东5166 小时前
基于vue的电商购物网站vue +ssm
java·前端·javascript·vue.js·毕业设计·毕设
她说..6 小时前
策略模式+工厂模式实现审批流(面试问答版)
java·后端·spring·面试·springboot·策略模式·javaee
鹿角片ljp6 小时前
力扣9.回文数-转字符双指针和反转数字
java·数据结构·算法
skywalker_116 小时前
网络编程篇
java·网络协议·网络编程
毕设源码-朱学姐6 小时前
【开题答辩全过程】以 基于Java的九价疫苗预约系统为例,包含答辩的问题和答案
java·开发语言