3-10编程作业
来源:3-10 自由编程
千_夜
2020-05-16 23:40:27
地址类Address
--------------------------------------------------------
package com.imooc.test;
public class Address {
private int addreId;
private String addreName;
private String detailedAddress;
private int addreTelephone;
public Address() {
super();
}
public Address(int addreId, String addreName, String detailedAddress, int addreTelephone) {
super();
this.addreId = addreId;
this.addreName = addreName;
this.detailedAddress = detailedAddress;
this.addreTelephone = addreTelephone;
}
public int getAddreId() {
return addreId;
}
public void setAddreId(int addreId) {
this.addreId = addreId;
}
public String getAddreName() {
return addreName;
}
public void setAddreName(String addreName) {
this.addreName = addreName;
}
public String getDetailedAddress() {
return detailedAddress;
}
public void setDetailedAddress(String detailedAddress) {
this.detailedAddress = detailedAddress;
}
public int getAddreTelephone() {
return addreTelephone;
}
public void setAddreTelephone(int addreTelephone) {
this.addreTelephone = addreTelephone;
}
@Override
public String toString() {
return "Addres [addreId=" + addreId + ", addreName=" + addreName + ", detailedAddress=" + detailedAddress
+ ", addreTelephone=" + addreTelephone + "]";
}
public void display() {
System.out.println("这是一个地址");
}
private void info() {
System.out.println("我是私有方法");
}
private void equalsAddress(String name) {
if(this.getAddreName().equals(name)) {
System.out.println("相等");
}else {
System.out.println("不相等");
}
}
}测试类AddressTest
--------------------------------------------------------
package com.imooc.test;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import org.junit.Test;
public class AddressTest {
@Test
/**
* 通过Method调用display()方法
*/
public void test1() throws Exception {
Class c1 = Class.forName("com.imooc.test.Address");
Address add = (Address)c1.newInstance();
Method m1 = c1.getMethod("display");
m1.invoke(add);
}
@Test
/**
* 通过Method调用info()方法
*/
public void test2() throws Exception {
Class c1 = Class.forName("com.imooc.test.Address");
Address add = (Address)c1.newInstance();
Method m1 = c1.getDeclaredMethod("info");
m1.setAccessible(true);
m1.invoke(add, null);
}
@Test
/**
* 通过Method调用equalsAddress()方法
*/
public void test3() throws Exception {
Class c1 = Class.forName("com.imooc.test.Address");
Address add = (Address)c1.newInstance();
Method m1 = c1.getDeclaredMethod("equalsAddress", String.class);
m1.setAccessible(true);
Field f1 = c1.getDeclaredField("addreName");
f1.setAccessible(true);
//给addressName属性赋值
f1.set(add, "小明");
m1.invoke(add, "小明"); //输出相等
m1.invoke(add, "小红"); //输出不相等
}
}1回答
同学的代码写的不错哦,继续加油哦!!
符合作业要求。
如果我的回答解决了你的问题,请采纳,祝学习愉快.