java_7_反射实例

package com.guoyasoft.reflect;

public interface IDao {
    public void insert();
}
package com.guoyasoft.reflect;

public class School implements IDao{

    @Override
    public void insert() {
        // TODO Auto-generated method stub
        System.out.println("新增学校成功");
    }
}

package com.guoyasoft.reflect;

public class Student implements IDao{
    @Override
    public void insert() {
        System.out.println("新增学生成功");
    }
}

package com.guoyasoft.reflect;

public class Teacher implements IDao{
public void insert(){
    System.out.println("新增老师成功");
}
}

package com.guoyasoft.reflect;

import java.lang.reflect.Constructor;
import java.util.HashMap;

public class Test {
    public static void main(String[] args) throws Exception {
        Test t=new Test();
        t.http();
        Student s=new Student("guoya",100);
        System.out.println(s.name+","+s.age);
    }
    
    
    public void http() throws Exception{
        String url="http://127.0.0.1:8080/web/003?name=xxx&age=xxx";
        String urlPathern=url.substring(26,29);
        System.out.println(urlPathern);

        Test t=new Test();
        t.doGet(urlPathern);
    }
    
    public void doGet(String urlPathern) throws Exception{
        HashMap<String,String> maps=new HashMap<String,String> ();
        maps.put("001", "com.guoyasoft.reflect.Student");
        maps.put("002", "com.guoyasoft.reflect.Teacher");
        maps.put("003", "com.guoyasoft.reflect.School");
        
        String className=maps.get(urlPathern);
        Class c=Class.forName(className);
        
        Constructor con=c.getConstructor(null);
        IIterface obj=(IIterface)con.newInstance(null);
                
        obj.insert();       
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。