黑马程序员---框架的概念及用反射技术开发框架的原理

来源:互联网 发布:淘宝客推广会降权吗 编辑:程序博客网 时间:2024/05/07 00:42

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

 

 

 

右键项目——new ——File:

package cn.itcast.day1;public class ReflectPoint {private int x;public int y;private String str1;public String str2;public String str3;public ReflectPoint(int x, int y) {super();this.x = x;this.y = y;}public ReflectPoint(int x, int y, String str1, String str2, String str3) {super();this.x = x;this.y = y;this.str1 = str1;this.str2 = str2;this.str3 = str3;}@Overridepublic int hashCode() {final int prime = 31;int result = 1;result = prime * result + x;result = prime * result + y;return result;}@Overridepublic boolean equals(Object obj) {if (this == obj)return true;if (obj == null)return false;if (getClass() != obj.getClass())return false;ReflectPoint other = (ReflectPoint) obj;if (x != other.x)return false;if (y != other.y)return false;return true;}public String toString() {return x + "::" + y + "::" + str1 + "::" + str2 + "::" + str3;}}

 

package cn.itcast.day1;import java.io.FileInputStream;import java.io.InputStream;import java.util.Collection;import java.util.HashSet;import java.util.Properties;public class ReflectTest2 {public static void main(String[] args) throws Exception {InputStream ips = new FileInputStream("config.properties");Properties props = new Properties();props.load(ips);ips.close();//自己在被垃圾回收之前先把自己关联的那个系统资源给关闭,要不然这种情况多了以后会发生内存(溢出)泄露。String className = props.getProperty("className");Collection collections = (Collection)Class.forName(className).newInstance();//Collection collections = new HashSet();ReflectPoint pt1 = new ReflectPoint(3,3);ReflectPoint pt2 = new ReflectPoint(5,5);ReflectPoint pt3 = new ReflectPoint(3,3);collections.add(pt1);collections.add(pt2);collections.add(pt3);collections.add(pt1);System.out.println(collections.size());//4,4个元素}}


把配置属性里的className对应的值改成HashSet以后:

package cn.itcast.day1;import java.io.FileInputStream;import java.io.InputStream;import java.util.Collection;import java.util.HashSet;import java.util.Properties;public class ReflectTest2 {public static void main(String[] args) throws Exception {InputStream ips = new FileInputStream("config.properties");Properties props = new Properties();props.load(ips);ips.close();//自己在被垃圾回收之前先把自己关联的那个系统资源给关闭,要不然这种情况多了以后会发生内存(溢出)泄露。String className = props.getProperty("className");Collection collections = (Collection)Class.forName(className).newInstance();//Collection collections = new HashSet();ReflectPoint pt1 = new ReflectPoint(3,3);ReflectPoint pt2 = new ReflectPoint(5,5);ReflectPoint pt3 = new ReflectPoint(3,3);collections.add(pt1);collections.add(pt2);collections.add(pt3);collections.add(pt1);System.out.println(collections.size());//2,两个元素}}

 

---------------------- ASP.Net+Unity开发、.Net培训、期待与您交流! ----------------------

详细请查看:http://edu.csdn.net

0 0
原创粉丝点击