老师代码可有啥问题 麻烦指定哈
来源: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回答
同学的代码写的不错哦,符合作业要求。继续加油哦!!
但还有一个小问题:
1、 当方法或变量名由一个单词组成时,则该单词均小写。当由多个单词组成时,第一个单词所有字母均小写,从第二个单词开始,每个单词的首字母大写。如:addrnum应改为:addrNum
如果我的回答解决了你的问题,请采纳,祝学习愉快.
相似问题