老师检查一下

来源:3-10 自由编程

慕仔0431810

2020-01-03 15:45:29

package com.zt.reflect3;

import java.lang.reflect.Constructor;
import java.lang.reflect.Method;

import org.junit.Test;

public class Test1 {

	@Test
	public void test1() throws Exception {
		Class class1=Class.forName("com.zt.reflect3.Address");
		//实例化
		Address add=(Address)class1.newInstance();
		//获得公有方法
	     Method method=class1.getDeclaredMethod("display");
	     //执行方法
	     method.invoke(add);
	     
	     
	     //获得私有方法
	     Method method2=class1.getDeclaredMethod("info");
	     //设置访问权限
	     method2.setAccessible(true);
	     //执行方法
	     method2.invoke(add);
	     
	     
	    
	     Constructor c= class1.getDeclaredConstructor(String.class,String.class,String.class,String.class);
	     Address add2=(Address)c.newInstance("sss","sss","sss","sss");
	     //获得有参私有方法
	     Method method3=class1.getDeclaredMethod("equalsAddress",String.class);
	     //设置访问权限
	     method3.setAccessible(true);
	     //执行方法
	     method3.invoke(add2,"sss");
	}
	
}
package com.zt.reflect3;

public class Address {

	private String id;
	private String name;
	private String despAddress;
	private String tel;
	
	public Address() {
		
	}
	
	public Address(String id, String name, String despAddress, String tel) {
		super();
		this.id = id;
		this.name = name;
		this.despAddress = despAddress;
		this.tel = tel;
	}

	
	
	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getDespAddress() {
		return despAddress;
	}

	public void setDespAddress(String despAddress) {
		this.despAddress = despAddress;
	}

	public String getTel() {
		return tel;
	}

	public void setTel(String tel) {
		this.tel = tel;
	}

	
	
	
	
	public void display(){
		System.out.println("这是一个地址");
	}
	
	private void info(){
		System.out.println("我是私有方法");
	}
	
	private void equalsAddress(String name){
		if(this.name.equals(name)) {
			System.out.println("相等");
		}else {
			System.out.println("不相等");
		}
	}
	
	
	@Override
	public String toString() {
		return "Address [id=" + id + ", name=" + name + ", despAddress=" + despAddress + ", tel=" + tel + "]";
	}
	
	
	
	
}


写回答

1回答

好帮手慕小班

2020-01-03

同学你好。经测试,同学的代码是正确的~

祝学习愉快~

0

0 学习 · 8016 问题

查看课程