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));
		
	}
}
相关推荐
寻星探路8 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
工程师老罗9 小时前
如何在Android工程中配置NDK版本
android
曹牧10 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法11 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty72511 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎11 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄11 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿11 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds11 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化