麻烦老师看看

来源:3-10 自由编程

shuaiyi

2019-10-16 20:33:12

这是AddressTest类:
package com.imooc.reflect.zuoye;

import java.lang.reflect.Field;
import java.lang.reflect.Method;

import org.junit.Test;

public class AddressTest {
	@Test
	/**
	 * displasy()
	 */
	public void demo1() throws Exception{
		//获得Class对象
		Class c = Class.forName("com.imooc.reflect.zuoye.Address");
		//实例化
		Address a = (Address) c.newInstance();
		//取得display()
		Method m = c.getMethod("display");
		//
		m.invoke(a);
	}
	@Test
	/**
	 * info()
	 */
	public void demo2() throws Exception{
		//获得Class对象
		Class c = Class.forName("com.imooc.reflect.zuoye.Address");
		//实例化
		Address a = (Address) c.newInstance();
		//取得display()
		Method m = c.getDeclaredMethod("info");
		//设置权限
		m.setAccessible(true);
		m.invoke(a);
	}
	@Test
	/**
	 * equalsAddress()
	 */
	public void demo3() throws Exception{
		//获得Class对象
		Class c = Class.forName("com.imooc.reflect.zuoye.Address");
		//实例化
		Address a = (Address) c.newInstance();
		
		//赋值属性name
		Field f = c.getDeclaredField("name");
		f.setAccessible(true);
		f.set(a, "北京");
		
		//取得display()
		Method m = c.getDeclaredMethod("equalsAddress",String.class);
		//设置权限
		m.setAccessible(true);
		Object obj = m.invoke(a, "湖南");
		System.out.println(obj);
	}
}

这是Address类:
package com.imooc.reflect.zuoye;

public class Address {
	private int id;
	private String name;
	private String adr;
	private char phone;
	
	
	public Address() {
		super();
		// TODO Auto-generated constructor stub
	}
	
	public Address(int id, String name, String adr, char phone) {
		super();
		this.id = id;
		this.name = name;
		this.adr = adr;
		this.phone = phone;
	}

	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAdr() {
		return adr;
	}
	public void setAdr(String adr) {
		this.adr = adr;
	}
	public char getPhone() {
		return phone;
	}
	public void setPhone(char phone) {
		this.phone = phone;
	}

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


写回答

1回答

好帮手慕柯南

2019-10-17

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

祝学习愉快~


0

0 学习 · 8016 问题

查看课程