老师帮我看看咯
来源:3-10 自由编程
夏蔚海
2021-01-06 00:38:21
package com.imooc.test;
public class Address {
private int AddressNumber;
private String name;
private String detailedAddress;
private int phone;
public Address(){}
public Address(int addressNumber, String name, String detailedAddress, int phone) {
AddressNumber = addressNumber;
this.name = name;
this.detailedAddress = detailedAddress;
this.phone = phone;
}
public int getAddressNumber() {
return AddressNumber;
}
public void setAddressNumber(int addressNumber) {
AddressNumber = addressNumber;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDetailedAddress() {
return detailedAddress;
}
public void setDetailedAddress(String detailedAddress) {
this.detailedAddress = detailedAddress;
}
public int getPhone() {
return phone;
}
public void setPhone(int phone) {
this.phone = phone;
}
@Override
public String toString() {
return "Address{" +
"地址编号 =" + AddressNumber +
", 姓名 ='" + name + '\'' +
", 详细地址 ='" + detailedAddress + '\'' +
", 电话 =" + phone +
'}';
}
public void display(){
System.out.println("这是一个地址");
}
private void info(){
System.out.println("我是私有方法");
}
private void equalsAddress(String name){
if (name.equals(name)){
System.out.println("相等");
}else{
System.out.println("不相等");
}
}
}
/**
* 通过Method调用display()方法
*/
public void zybc5() throws Exception {
Class class1 = Class.forName("com.imooc.test.Address");
Address address = (Address) class1.newInstance();
Method method = class1.getDeclaredMethod("display");
method.invoke(address);
}
/**
*通过Method调用info()方法
*/
public void zybc6() throws Exception {
Class class1 = Class.forName("com.imooc.test.Address");
Address address = (Address) class1.newInstance();
Method method = class1.getDeclaredMethod("info");
method.setAccessible(true);
method.invoke(address);
}
/**
*通过Method调用equalsAddress()方法
*/
public void zybc7() throws Exception {
Class class1 = Class.forName("com.imooc.test.Address");
Address address = (Address) class1.newInstance();
Method method = class1.getDeclaredMethod("equalsAddress", String.class);
method.setAccessible(true);
Object obj = method.invoke(address,"网吧");
System.out.println(obj);
}
public static void main(String[] args) {
Test test = new Test();
try {
test.zybc5();
test.zybc6();
test.zybc7();
} catch (Exception e) {
e.printStackTrace();
}
}
1回答
好帮手慕阿园
2021-01-06
同学你好,同学的代码整体完成的不错,但是还有个地方需要修改下
1、在实体类中equalsAddress方法中,判断name和参数的值是否相等时,需要使用this关键字,否则这里比较的是两个参数是否相等
修改如下
2、在测试类中zybc7()方法中应该先set一个值,然后才进行比较,并且不需要输出obj,修改如下
祝学习愉快~
相似问题