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));
		
	}
}
相关推荐
huaCodeA8 小时前
Android面试-Kotlin Coroutines(协程)
android·面试·kotlin
通玄8 小时前
Jetpack Compose 入门系列(三):MVVM + 协程 实现网络请求列表
android
凤山老林8 小时前
68-Java ConcurrentHashMap
java·开发语言
LCG元8 小时前
MySQL慢查询分析与索引调优:从故障诊断到性能翻倍的进阶之路
android·前端·mysql
技术钱8 小时前
字符分割器组件的使用
android·python
小a彤8 小时前
atvoss:Vector 算子子程序模板库,让 Ascend C 开发效率提升 5 倍
android·c语言·数据库
oh_my_god8 小时前
Android 修改ntp网络校时服务器
android
jzlhll1238 小时前
android kotlin Flow:distinctUntilChangedBy + stateIn 的坑
android·开发语言·kotlin
憧憬成为java架构高手的小白8 小时前
苍穹外卖--day10(订单状态定时处理、来单提醒和客户催单)
java·spring boot
美狐美颜sdk9 小时前
直播APP开发如何实现美颜功能?低成本美颜SDK方案推荐
android·人工智能·ios·第三方美颜sdk·视频美颜sdk