加入收藏 | 设为首页 | 会员中心 | 我要投稿 网站开发网_盐城站长网 (https://www.0515zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营 > 正文

史上最全Java面试题整理(附参考答案)

发布时间:2020-12-24 09:48:18 所属栏目:运营 来源:网络整理
导读:副标题#e# 下列面试题都是在网上收集的,本人抱着学习的态度找了下参考答案,有不足的地方还请指正,更多精彩内容可以关注我的微信公众号:Java团长 1、面向对象的特征有哪些方面? 抽象:将同类对象的共同特征提取出来构造类。 继承:基于基类创建新类。

}
<span class="hljs-keyword">catch (Exception e) {
<span class="hljs-keyword">throw <span class="hljs-keyword">new RuntimeException(e);
}
}

<span class="hljs-comment">/**

  • 通过反射给对象的指定字段赋值

  • <span class="hljs-doctag">@param target 目标对象

  • <span class="hljs-doctag">@param fieldName 字段的名称

  • <span class="hljs-doctag">@param value 值
    */
    <span class="hljs-function"><span class="hljs-keyword">public <span class="hljs-keyword">static <span class="hljs-keyword">void <span class="hljs-title">setValue<span class="hljs-params">(Object target,Object value) {
    Class<?> clazz = target.getClass();
    String[] fs = fieldName.split(<span class="hljs-string">".");
    <span class="hljs-keyword">try {
    <span class="hljs-keyword">for(<span class="hljs-keyword">int i = <span class="hljs-number">0; i < fs.length - <span class="hljs-number">1; i++) {
    Field f = clazz.getDeclaredField(fs[i]);
    f.setAccessible(<span class="hljs-keyword">true);
    Object val = f.get(target);
    <span class="hljs-keyword">if(val == <span class="hljs-keyword">null) {
    Constructor<?> c = f.getType().getDeclaredConstructor();
    c.setAccessible(<span class="hljs-keyword">true);
    val = c.newInstance();
    f.set(target,val);
    }
    target = val;
    clazz = target.getClass();
    }

     Field f = clazz.getDeclaredField(fs[fs.length - <span class="hljs-number"&gt;1]);
     f.setAccessible(<span class="hljs-keyword"&gt;true);
     f.set(target,value);

    }
    <span class="hljs-keyword">catch (Exception e) {
    <span class="hljs-keyword">throw <span class="hljs-keyword">new RuntimeException(e);
    }
    }

}

<span class="cke_reset cke_widget_drag_handler_container"><img class="cke_reset cke_widget_drag_handler" title="点击并拖拽以移动" src="data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==" alt="" width="15" height="15" data-cke-widget-drag-handler="1">

88、如何通过反射调用对象的方法?

答:请看下面的代码:

<span class="hljs-function"&gt;<span class="hljs-keyword"&gt;public <span class="hljs-keyword"&gt;static <span class="hljs-keyword"&gt;void <span class="hljs-title"&gt;main<span class="hljs-params"&gt;(String[] args) <span class="hljs-keyword"&gt;throws Exception {
    String str = <span class="hljs-string"&gt;"hello";
    Method m = str.getClass().getMethod(<span class="hljs-string"&gt;"toUpperCase");
    System.out.println(m.invoke(str));  <span class="hljs-comment"&gt;// HELLO
}

(编辑:网站开发网_盐城站长网 )

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!