黑马程序员技术交流社区

标题: 入学测试题 [打印本页]

作者: 晨若兰曦    时间: 2015-2-12 11:05
标题: 入学测试题
存在一个JavaBean,它包含以下几种可能的属性:
       1:boolean/Boolean
       2:int/Integer
       3:String
       4:double/Double
     属性名未知,现在要给这些属性设置默认值,以下是要求的默认值:
       String类型的默认值为字符串 www.itheima.com
       int/Integer类型的默认值为100
     boolean/Boolean类型的默认值为true
       double/Double的默认值为0.01D.
  只需要设置带有getXxx/isXxx/setXxx方法的属性,非JavaBean属性不设置,请用代码实现
这个题这样写是不是太简单了:
class JavaBean// 定义一个类

{
        private String st = "www.itheima.com";// 定义String类型的属性,设置默认的初始化值
        private int in = 100;// 定义int类型的属性,设置默认的初始化值
        private boolean b = true;// 定义boolean类型的属性,设置默认的初始化值
        private double d = 0.01D;// 定义double类型的属性,设置默认的初始化值

        public void setSt(String st)// 设置setSt方法
        {
                this.st = st;// 调用本类对象
        }

        public void setIn(int in)// 设置setIn方法
        {
                this.st = st;// 调用本类对象
        }

        public void setB(boolean b)// 设置setB方法
        {
                this.b = b;// 调用本类对象
        }

        public void setD(double d)// 设置setDouble方法
        {
                this.d = d;// 调用本类对象
        }

        public String getSt()// 设置getSt方法
        {
                return st;// 返回本类对象
        }

        public int getInt()// 设置getInt法
        {
                return in;// 返回本类对象
        }

        public boolean getB()// 设置getB方法
        {
                return b;// 返回本类对象
        }

        public double getD()// 设置getD方法
        {
                return d;// 返回本类对象
        }
}

public class Test8 {
        public static void main(String[] args)// 主函数,整个函数的切入点
        {
                JavaBean jb = new JavaBean();// new一个对象,对对象进行实例化
        }

}



作者: wildcat    时间: 2015-2-12 12:00
进来看看,好像是对了,不确定啊
作者: 白衣布士    时间: 2015-2-12 15:11
好像是使用反射做的
作者: ~我思故我在~    时间: 2015-2-12 15:35
结果应该是对的
作者: 小爷邱烙    时间: 2015-2-13 08:00
javaBean应该是提前存在的,并且没有默认值,并且不知道属性名
所以设置值应该用反射,简单的方法是用内省,
比较麻烦的是用反射获取所有public方法,遍历并判断参数类型来赋值
作者: 晨若兰曦    时间: 2015-2-13 08:55
小爷邱烙 发表于 2015-2-13 08:00
javaBean应该是提前存在的,并且没有默认值,并且不知道属性名
所以设置值应该用反射,简单的方法是用内省 ...

我也觉得不可能会那么简单
作者: 晨若兰曦    时间: 2015-2-13 09:11
wildcat 发表于 2015-2-12 12:00
进来看看,好像是对了,不确定啊

不对啊,要用反射的
作者: iOS大神    时间: 2015-2-13 09:28
好像是对的。。
作者: a986875894    时间: 2015-2-14 09:43
这个应该要用内省吧..




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2