老师代码可有啥问题 麻烦指定哈

来源:3-10 自由编程

编程从入门到自闭

2020-07-05 23:00:27

package jdbc.reflect;


public class Address {

/*

1、创建地址类Address,类的结构如下:

1)私有属性:地址编号、姓名、详细地址、电话

2)无参构造及带参构造,get和set方法

3)toString()方法

4)公有方法public void display(){}输出:这是一个地址

5)私有方法private void info(){}输出:我是私有方法

6)私有方法private void equalsAddress(String name){}比较参数和name的值是否一致 ,输出比较结果,如:相等,或不相等

2、创建测试类,在主方法中完成如下操作:

1)通过Method调用display()方法

2)通过Method调用info()方法

3)通过Method调用equalsAddress()方法

 */

private int addrnum;  

private String name;

private String address;

private int tel;


public Address() {

}

public Address(int addrnum,String name,String address,int tel) {

}

public int getAddrnum() {

return this.addrnum;

}

public void setAddrnum(int addrnum) {

this.addrnum=addrnum;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getAddress() {

return address;

}

public void setAddress(String address) {

this.address = address;

}

public int getTel() {

return tel;

}

public void setTel(int tel) {

this.tel = tel;

}

@Override

public String toString() {

return "Address [addrnum=" + addrnum + ", name=" + name + ", address=" + address + ", tel=" + tel + "]";

}

public void display(){

System.out.println("这是一个地址");

}

private void info(){

System.out.println("我是私有方法");

}

private void equalsAddress(String name){

if(this.name==name)

System.out.println("相等");

else

System.out.println("不相等");


}

}

============================================


package jdbc.reflect;


import java.lang.reflect.InvocationTargetException;

import java.lang.reflect.Method;


public class AddressTest {

/*

* 2、创建测试类,在主方法中完成如下操作:

*  1)通过Method调用display()方法

*   2)通过Method调用info()方法

* 3)通过Method调用equalsAddress()方法

*/

public static void main(String[] a) throws ClassNotFoundException, InstantiationException, IllegalAccessException,

NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException {


Class class1 = Class.forName("jdbc.reflect.Address");

Address ad1 = (Address) class1.newInstance();

// 创建display对象 并调用display方法

Method m1 = class1.getMethod("display");

m1.invoke(ad1);

// 创建display对象 并调用display方法

Method m2 = class1.getDeclaredMethod("info");

m2.setAccessible(true);

m2.invoke(ad1);

// 创建display对象 并调用display方法

Method m3 = class1.getDeclaredMethod("equalsAddress",String.class);

m3.setAccessible(true);

m3.invoke(ad1,"安庆");

}


}


写回答

1回答

好帮手慕小脸

2020-07-06

同学的代码写的不错哦,符合作业要求。继续加油哦!!

但还有一个小问题:

1、 当方法或变量名由一个单词组成时,则该单词均小写。当由多个单词组成时,第一个单词所有字母均小写,从第二个单词开始,每个单词的首字母大写。如:addrnum应改为:addrNum

如果我的回答解决了你的问题,请采纳,祝学习愉快.


0

0 学习 · 8016 问题

查看课程