<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta name="generator" content="pdf2htmlEX">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<link rel="stylesheet" href="https://static.pudn.com/base/css/base.min.css">
<link rel="stylesheet" href="https://static.pudn.com/base/css/fancy.min.css">
<link rel="stylesheet" href="https://static.pudn.com/prod/directory_preview_static/627b05be5981aa38ef516a9a/raw.css">
<script src="https://static.pudn.com/base/js/compatibility.min.js"></script>
<script src="https://static.pudn.com/base/js/pdf2htmlEX.min.js"></script>
<script>
try{
pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
}catch(e){}
</script>
<title></title>
</head>
<body>
<div id="sidebar" style="display: none">
<div id="outline">
</div>
</div>
<div id="pf1" class="pf w0 h0" data-page-no="1"><div class="pc pc1 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/627b05be5981aa38ef516a9a/bg1.jpg"><div class="c x0 y1 w0 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">第<span class="_ _0"> </span><span class="ff2">1<span class="_ _1"> </span></span>页<span class="_ _2"> </span>共<span class="_ _0"> </span><span class="ff2">59<span class="_ _0"> </span></span>页</div></div><div class="t m0 x2 h4 y3 ff1 fs1 fc0 sc1 ls0 ws0">面试题集</div><div class="t m0 x3 h5 y4 ff1 fs2 fc0 sc1 ls0 ws0">面试题集共分<span class="_ _3"></span>为以下十部分<span class="_ _3"></span>:</div><div class="t m0 x3 h5 y5 ff1 fs2 fc0 sc0 ls0 ws0">一、<span class="_ _4"> </span>Core<span class="_ _5"> </span>Java<span class="_ _4"> </span>:<span class="_ _6"> </span>1<span class="_ _7"> </span>—<span class="_ _8"> </span>95<span class="_ _9"> </span>题<span class="_ _a"> </span>1<span class="_ _b"> </span>—<span class="_ _7"> </span>24<span class="_ _9"> </span>页</div><div class="t m0 x4 h5 y6 ff1 fs2 fc0 sc0 ls0 ws0">基础及语法:<span class="_ _c"> </span>1<span class="_ _7"> </span>—<span class="_ _8"> </span>61<span class="_ _9"> </span>题<span class="_ _a"> </span>1<span class="_ _b"> </span>—<span class="_ _7"> </span>13<span class="_ _9"> </span>页</div><div class="t m0 x4 h5 y7 ff1 fs2 fc0 sc0 ls0 ws0">异常:<span class="_ _d"> </span>62<span class="_ _8"> </span>—<span class="_ _8"> </span>69<span class="_ _9"> </span>题<span class="_ _a"> </span>13<span class="_ _7"> </span>—<span class="_ _7"> </span>15<span class="_ _9"> </span>页</div><div class="t m0 x4 h5 y8 ff1 fs2 fc0 sc0 ls0 ws0">集合:<span class="_ _d"> </span>70<span class="_ _8"> </span>—<span class="_ _8"> </span>80<span class="_ _9"> </span>题<span class="_ _a"> </span>15<span class="_ _7"> </span>—<span class="_ _7"> </span>18<span class="_ _9"> </span>页</div><div class="t m0 x4 h5 y9 ff1 fs2 fc0 sc0 ls0 ws0">线程:<span class="_ _d"> </span>81<span class="_ _8"> </span>—<span class="_ _8"> </span>90<span class="_ _9"> </span>题<span class="_ _a"> </span>18<span class="_ _7"> </span>—<span class="_ _7"> </span>21<span class="_ _9"> </span>页</div><div class="t m0 x4 h5 ya ff1 fs2 fc0 sc0 ls0 ws0">IO<span class="_ _7"> </span>&<span class="_ _e"> </span>Socket<span class="_ _f"> </span>:<span class="_ _10"> </span>91<span class="_ _8"> </span>—<span class="_ _8"> </span>95<span class="_ _9"> </span>题<span class="_ _a"> </span>21<span class="_ _7"> </span>—<span class="_ _7"> </span>24<span class="_ _9"> </span>页</div><div class="t m0 x3 h5 yb ff1 fs2 fc0 sc0 ls0 ws0">二、<span class="_ _4"> </span>OOAD<span class="_ _5"> </span>&<span class="_ _e"> </span>UML<span class="_ _8"> </span>:<span class="_ _11"> </span>96<span class="_ _8"> </span>—<span class="_ _7"> </span>101<span class="_ _12"> </span>题<span class="_ _a"> </span>24<span class="_ _7"> </span>—<span class="_ _7"> </span>25<span class="_ _9"> </span>页</div><div class="t m0 x3 h5 yc ff1 fs2 fc0 sc0 ls0 ws0">三、<span class="_ _4"> </span>XML<span class="_ _8"> </span>:<span class="_ _13"> </span>102<span class="_ _14"> </span>—<span class="_ _7"> </span>105<span class="_ _12"> </span>题<span class="_ _a"> </span>26<span class="_ _7"> </span>—<span class="_ _7"> </span>29<span class="_ _9"> </span>页</div><div class="t m0 x3 h5 yd ff1 fs2 fc0 sc0 ls0 ws0">四、<span class="_ _4"> </span>SQL<span class="_ _8"> </span>:<span class="_ _13"> </span>106<span class="_ _14"> </span>—<span class="_ _7"> </span>109<span class="_ _12"> </span>题<span class="_ _a"> </span>29<span class="_ _7"> </span>—<span class="_ _7"> </span>31<span class="_ _9"> </span>页</div><div class="t m0 x3 h5 ye ff1 fs2 fc0 sc0 ls0 ws0">五、<span class="_ _4"> </span>JDBC<span class="_ _5"> </span>&<span class="_ _e"> </span>Hibernate<span class="_ _15"> </span>:<span class="_ _16"> </span>110<span class="_ _14"> </span>—<span class="_ _7"> </span>121<span class="_ _12"> </span>题<span class="_ _a"> </span>31<span class="_ _7"> </span>—<span class="_ _7"> </span>35<span class="_ _9"> </span>页</div><div class="t m0 x3 h5 yf ff1 fs2 fc0 sc0 ls0 ws0">六、<span class="_ _4"> </span>Web<span class="_ _8"> </span>:<span class="_ _13"> </span>122<span class="_ _14"> </span>—<span class="_ _7"> </span>161<span class="_ _12"> </span>题<span class="_ _a"> </span>35<span class="_ _7"> </span>—<span class="_ _7"> </span>44<span class="_ _9"> </span>页</div><div class="t m0 x3 h5 y10 ff1 fs2 fc0 sc0 ls0 ws0">七<span class="_ _b"> </span>、<span class="_ _b"> </span>EJB<span class="_ _14"> </span>&<span class="_ _e"> </span>Spring<span class="_ _f"> </span>:<span class="_ _17"> </span>162<span class="_ _14"> </span>—<span class="_ _7"> </span>179<span class="_ _12"> </span>题<span class="_ _a"> </span>44<span class="_ _7"> </span>—<span class="_ _7"> </span>47<span class="_ _9"> </span>页</div><div class="t m0 x3 h5 y11 ff1 fs2 fc0 sc0 ls0 ws0">八、数据结构<span class="_ _11"> </span>&<span class="_ _e"> </span>算法<span class="_ _5"> </span>&<span class="_ _e"> </span>计算机基础:<span class="_ _18"> </span>180<span class="_ _14"> </span>—<span class="_ _7"> </span>187<span class="_ _12"> </span>题<span class="_ _a"> </span>47<span class="_ _7"> </span>—<span class="_ _7"> </span>51<span class="_ _9"> </span>页</div><div class="t m0 x3 h5 y12 ff1 fs2 fc0 sc0 ls0 ws0">九、<span class="_ _4"> </span>C++<span class="_ _8"> </span>:<span class="_ _13"> </span>188<span class="_ _14"> </span>—<span class="_ _7"> </span>201<span class="_ _12"> </span>题<span class="_ _a"> </span>51<span class="_ _7"> </span>—<span class="_ _7"> </span>55<span class="_ _9"> </span>页</div><div class="t m0 x3 h5 y13 ff1 fs2 fc0 sc0 ls0 ws0">十、<span class="_ _4"> </span>Weblogic<span class="_ _19"> </span>及其它<span class="_ _f"> </span>(<span class="_ _1a"> </span>附加部分<span class="_ _1b"> </span>)<span class="_ _a"> </span>1<span class="_ _e"> </span>——<span class="_ _5"> </span>13<span class="_ _9"> </span>题<span class="_ _a"> </span>55<span class="_ _7"> </span>—<span class="_ _7"> </span>57<span class="_ _9"> </span>页</div><div class="t m0 x3 h4 y14 ff1 fs1 fc0 sc1 ls0 ws0">一、<span class="_ _1c"> </span>Cor<span class="_ _3"></span>eJav<span class="_ _3"></span>a<span class="_ _1d"> </span>部分:(<span class="_ _3"></span>共<span class="_ _1e"> </span>95<span class="_ _1f"> </span>题:基础<span class="_ _20"> </span>91<span class="_ _1f"> </span>道,中等难度<span class="_ _21"> </span>4<span class="_ _22"> </span>道)</div><div class="t m0 x3 h6 y15 ff1 fs3 fc0 sc1 ls0 ws0">基础及语法部分:(共<span class="_ _23"> </span>61<span class="_ _24"> </span>题:基础<span class="_ _25"> </span>60<span class="_ _24"> </span>道、中等难<span class="_ _3"></span>度<span class="_ _26"> </span>1<span class="_ _27"> </span>道)</div><div class="t m0 x3 h5 y16 ff1 fs2 fc0 sc0 ls0 ws0">1<span class="_ _1a"> </span>、面向对象的特征有哪些方面<span class="_ _28"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y17 ff1 fs2 fc0 sc0 ls0 ws0">答:面向对象的特征主要有以下几个方面:</div><div class="t m0 x5 h5 y18 ff1 fs2 fc0 sc0 ls0 ws0">1)<span class="_ _b"> </span>抽象:<span class="_ _29"> </span>抽象就是忽略一个主题中与当前目标无关的那些方面,<span class="_ _29"> </span>以便更充分<span class="_ _2a"> </span>地</div><div class="t m0 x3 h5 y19 ff1 fs2 fc0 sc0 ls0 ws0">注意与当前目标有关的方面。<span class="_ _29"> </span>抽象并不打算了解全部问题,<span class="_ _29"> </span>而只是选择其中的<span class="_ _2b"> </span>一</div><div class="t m0 x3 h5 y1a ff1 fs2 fc0 sc0 ls0 ws0">部分,暂时不用部分细节。抽象包括两个方面,一是过程抽象<span class="_ _2c"> </span>,<span class="_ _1a"> </span>二是数据抽象。</div><div class="t m0 x5 h5 y1b ff1 fs2 fc0 sc0 ls0 ws0">2)<span class="_ _b"> </span>继承:<span class="_ _2d"></span>继承是一种联结类的层次模型,<span class="_ _2d"> </span>并且允许和鼓励类的重用,<span class="_ _2d"> </span>它<span class="_ _2e"></span>提供<span class="_ _2a"> </span>了</div><div class="t m0 x3 h5 y1c ff1 fs2 fc0 sc0 ls0 ws0">一种明确表述共性的方法。<span class="_ _29"> </span>对象的一个新类可以从现有的类中派生,<span class="_ _29"> </span>这个过程<span class="_ _2b"> </span>称</div><div class="t m0 x3 h5 y1d ff1 fs2 fc0 sc0 ls0 ws0">为类继承。<span class="_ _2f"></span>新类继承了原始类的特性,<span class="_ _2f"></span>新类称为原始类的派生类<span class="_ _2f"></span>(<span class="_ _2e"></span>子类)<span class="_ _2f"></span>,<span class="_ _2f"></span>而<span class="_ _2b"> </span>原</div><div class="t m0 x3 h5 y1e ff1 fs2 fc0 sc0 ls0 ws0">始类称为新类的基类<span class="_ _30"> </span>(父类)<span class="_ _30"> </span>。<span class="_ _30"> </span>派生类可以从它的基类那里继承方法和实例变</div><div class="t m1 x6 h5 y1e ff1 fs2 fc0 sc0 ls0 ws0">量<span class="_ _31"></span>,</div><div class="t m0 x3 h5 y1f ff1 fs2 fc0 sc0 ls0 ws0">并且类可以修改或增加新的方法使之更适合特殊的需要。</div><div class="t m0 x5 h5 y20 ff1 fs2 fc0 sc0 ls0 ws0">3)<span class="_ _b"> </span>封装:<span class="_ _32"> </span>封装是把过程和数据包围起来,<span class="_ _32"> </span>对数据的访问只能通过已定义的界</div><div class="t m1 x6 h5 y20 ff1 fs2 fc0 sc0 ls0 ws0">面<span class="_ _31"></span>。</div><div class="t m0 x3 h5 y21 ff1 fs2 fc0 sc0 ls0 ws0">面向对象计算始于这个基本概念,<span class="_ _29"> </span>即现实世界可以被描绘成一系列完全自治、<span class="_ _33"> </span>封</div><div class="t m0 x3 h5 y22 ff1 fs2 fc0 sc0 ls0 ws0">装的对象<span class="_ _1b"> </span>,<span class="_ _1a"> </span>这些对象通过一个受保护的接口访问其他对象。</div><div class="t m0 x5 h5 y23 ff1 fs2 fc0 sc0 ls0 ws0">4)<span class="_ _b"> </span>多态性:<span class="_ _29"> </span>多态性是指允许不同类的对象对同一消息作出响应。<span class="_ _29"> </span>多态性包括<span class="_ _2a"> </span>参</div><div class="t m0 x3 h5 y24 ff1 fs2 fc0 sc0 ls0 ws0">数化多态性和包含多态性。<span class="_ _2f"></span>多<span class="_ _2e"></span>态性语言具有灵活、<span class="_ _2f"></span>抽<span class="_ _2e"></span>象、<span class="_ _2f"></span>行<span class="_ _2e"></span>为共享、<span class="_ _2f"></span>代码共享<span class="_ _2b"> </span>的</div><div class="t m0 x3 h5 y25 ff1 fs2 fc0 sc0 ls0 ws0">优势,很好的解决了应用程序函数同名问题。</div><div class="t m0 x3 h5 y26 ff1 fs2 fc0 sc0 ls0 ws0">2<span class="_ _1a"> </span>、作用域<span class="_ _19"> </span>public,private,protected,<span class="_ _34"> </span>以及不写时的区别?【基础】</div><div class="t m0 x3 h5 y27 ff1 fs2 fc0 sc0 ls0 ws0">答:区别如下:</div><div class="t m0 x4 h5 y28 ff1 fs2 fc0 sc0 ls0 ws0">作用域<span class="_ _15"> </span>当前类<span class="_ _15"> </span>同包<span class="_ _35"> </span>子孙类<span class="_ _36"> </span>其他</div><div class="t m0 x4 h5 y29 ff1 fs2 fc0 sc0 ls0 ws0">public<span class="_ _37"> </span>√<span class="_ _38"> </span>√<span class="_ _38"> </span>√<span class="_ _38"> </span>√</div></div><div class="pi" data-data='{"ctm":[1.611830,0.000000,0.000000,1.611830,0.000000,0.000000]}'></div></div>
</body>
</html>
<div id="pf2" class="pf w0 h0" data-page-no="2"><div class="pc pc2 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/627b05be5981aa38ef516a9a/bg2.jpg"><div class="c x0 y1 w0 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">第<span class="_ _0"> </span><span class="ff2">2<span class="_ _1"> </span></span>页<span class="_ _2"> </span>共<span class="_ _0"> </span><span class="ff2">59<span class="_ _0"> </span></span>页</div></div><div class="t m0 x4 h5 y2a ff1 fs2 fc0 sc0 ls0 ws0">protected<span class="_ _17"> </span>√<span class="_ _38"> </span>√<span class="_ _38"> </span>√<span class="_ _38"> </span>×</div><div class="t m0 x4 h5 y2b ff1 fs2 fc0 sc0 ls0 ws0">default<span class="_ _39"> </span>√<span class="_ _38"> </span>√<span class="_ _38"> </span>×<span class="_ _38"> </span>×</div><div class="t m0 x4 h5 y2c ff1 fs2 fc0 sc0 ls0 ws0">private<span class="_ _39"> </span>√<span class="_ _38"> </span>×<span class="_ _38"> </span>×<span class="_ _38"> </span>×</div><div class="t m0 x4 h5 y2d ff1 fs2 fc0 sc0 ls0 ws0">不写时默认为<span class="_ _3a"> </span>default<span class="_ _35"> </span>。</div><div class="t m0 x3 h5 y2e ff1 fs2 fc0 sc0 ls0 ws0">3<span class="_ _1a"> </span>、<span class="_ _b"> </span>String<span class="_ _3b"> </span>是最基本的数据类型吗<span class="_ _3c"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y2f ff1 fs2 fc0 sc0 ls0 ws0">答:不是。</div><div class="t m0 x3 h5 y30 ff1 fs2 fc0 sc0 ls0 ws0">4<span class="_ _1a"> </span>、<span class="_ _b"> </span>float<span class="_ _3d"> </span>型<span class="_ _9"> </span>float<span class="_ _a"> </span>f=3.4<span class="_ _1c"> </span>是否正确<span class="_ _1b"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y31 ff1 fs2 fc0 sc0 ls0 ws0">答<span class="_ _b"> </span>:</div><div class="t m2 x7 h5 y31 ff1 fs2 fc0 sc0 ls0 ws0">不<span class="_ _3e"></span>正<span class="_ _3e"></span>确<span class="_ _3e"></span>;<span class="_ _32"> </span>精<span class="_ _3e"></span>度<span class="_ _3e"></span>不<span class="_ _3e"></span>准<span class="_ _3e"></span>确</div><div class="t m0 x8 h5 y31 ff1 fs2 fc0 sc0 ls0 ws0">,</div><div class="t m3 x9 h5 y31 ff1 fs2 fc0 sc0 ls0 ws0">应<span class="_ _3e"></span>该<span class="_ _3f"></span>用<span class="_ _3f"></span>强<span class="_ _3e"></span>制<span class="_ _3f"></span>类<span class="_ _3e"></span>型<span class="_ _3f"></span>转<span class="_ _3e"></span>换<span class="_ _3f"></span>,<span class="_ _32"> </span>如<span class="_ _3f"></span>下<span class="_ _3e"></span>所<span class="_ _3f"></span>示<span class="_ _3e"></span>:</div><div class="t m0 xa h5 y31 ff1 fs2 fc0 sc0 ls0 ws0">float<span class="_ _a"> </span>f=(float)3.<span class="_ _40"> </span>4</div><div class="t m4 xb h5 y31 ff1 fs2 fc0 sc0 ls0 ws0">。</div><div class="t m0 x3 h5 y32 ff1 fs2 fc0 sc0 ls0 ws0">5<span class="_ _1a"> </span>、语句<span class="_ _3b"> </span>float<span class="_ _a"> </span>f=1.3<span class="_ _1c"> </span>;编译能否通过?<span class="_ _13"> </span><span class="fs4">【基础】</span></div><div class="t m0 x3 h5 y33 ff1 fs2 fc0 sc0 ls0 ws0">答<span class="_ _b"> </span>:<span class="_ _1a"> </span>不能;应该用强制类型转换,如下所示:<span class="_ _41"> </span>float<span class="_ _a"> </span>f=(float)1.3<span class="_ _10"> </span>;<span class="_ _7"> </span>。</div><div class="t m0 x3 h5 y34 ff1 fs2 fc0 sc0 ls0 ws0">6<span class="_ _1a"> </span>、<span class="_ _b"> </span>short<span class="_ _a"> </span>s1<span class="_ _7"> </span>=<span class="_ _e"> </span>1;<span class="_ _7"> </span>s1<span class="_ _7"> </span>=<span class="_ _e"> </span>s1<span class="_ _7"> </span>+<span class="_ _e"> </span>1;<span class="_ _b"> </span>有什么错<span class="_ _1b"> </span>?</div><div class="t m0 x3 h5 y35 ff1 fs2 fc0 sc0 ls0 ws0">short<span class="_ _a"> </span>s1<span class="_ _7"> </span>=<span class="_ _e"> </span>1;<span class="_ _7"> </span>s1<span class="_ _7"> </span>+=<span class="_ _7"> </span>1;<span class="_ _b"> </span>有什么错<span class="_ _1b"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y36 ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _4"> </span>short<span class="_ _a"> </span>s1<span class="_ _7"> </span>=<span class="_ _e"> </span>1;<span class="_ _7"> </span>s1<span class="_ _7"> </span>=<span class="_ _e"> </span>s1<span class="_ _7"> </span>+<span class="_ _e"> </span>1;s1+1<span class="_ _f"> </span>运算结果是<span class="_ _42"> </span>int<span class="_ _12"> </span>型,需要强制转换类型;</div><div class="t m0 x4 h5 y37 ff1 fs2 fc0 sc0 ls0 ws0">short<span class="_ _a"> </span>s1<span class="_ _7"> </span>=<span class="_ _e"> </span>1;<span class="_ _7"> </span>s1<span class="_ _7"> </span>+=<span class="_ _7"> </span>1;<span class="_ _b"> </span>可以正确编译<span class="_ _10"> </span>,<span class="_ _1a"> </span>自动类型提升。</div><div class="t m0 x3 h5 y38 ff1 fs2 fc0 sc0 ls0 ws0">7<span class="_ _1a"> </span>、<span class="_ _b"> </span>Java<span class="_ _43"> </span>有没有<span class="_ _3b"> </span>goto?<span class="_ _a"> </span>【基础】</div><div class="t m0 x3 h5 y39 ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _4"> </span>goto<span class="_ _43"> </span>是<span class="_ _9"> </span>java<span class="_ _43"> </span>中的保留字,现在没有在<span class="_ _44"> </span>java<span class="_ _43"> </span>中使用。</div><div class="t m0 x3 h5 y3a ff1 fs2 fc0 sc0 ls0 ws0">8<span class="_ _1a"> </span>、<span class="_ _b"> </span>int<span class="_ _14"> </span>和<span class="_ _7"> </span>Integer<span class="_ _45"> </span>有什么区别<span class="_ _37"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y3b ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _4"> </span>Java<span class="_ _5"> </span>提供两种不同的类型:引用类型和原始类型(或内置类型);</div><div class="t m0 x5 h5 y3c ff1 fs2 fc0 sc0 ls0 ws0">int<span class="_ _12"> </span>是<span class="_ _9"> </span>java<span class="_ _43"> </span>的原始数据类型,<span class="_ _13"> </span>Integer<span class="_ _46"> </span>是<span class="_ _9"> </span>java<span class="_ _43"> </span>为<span class="_ _9"> </span>int<span class="_ _12"> </span>提供的封装类。</div><div class="t m0 x5 h5 y3d ff1 fs2 fc0 sc0 ls0 ws0">Java<span class="_ _43"> </span>为每个原始类型提供了封装类:</div><div class="t m0 x7 h5 y3e ff1 fs2 fc0 sc0 ls0 ws0">原始类型<span class="_ _1b"> </span>:<span class="_ _e"> </span>boolean,char,byte,short,int,long,float,double</div><div class="t m2 x7 h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">封<span class="_ _3e"></span>装<span class="_ _3e"></span>类<span class="_ _3e"></span>型<span class="_ _3e"></span>:</div><div class="t m0 xc h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">Boolean</div><div class="t m5 xd h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">,</div><div class="t m0 xe h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">Character</div><div class="t m5 xf h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">,</div><div class="t m0 x10 h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">Byte</div><div class="t m5 x11 h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">,</div><div class="t m0 x12 h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">Short</div><div class="t m5 x13 h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">,</div><div class="t m0 x14 h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">Integer</div><div class="t m5 x15 h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">,</div><div class="t m0 x16 h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">Long</div><div class="t m5 x17 h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">,</div><div class="t m0 x18 h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">Float</div><div class="t m6 x19 h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">,</div><div class="t m0 x1a h5 y3f ff1 fs2 fc0 sc0 ls0 ws0">D<span class="_ _1a"> </span>ouble</div><div class="t m0 x5 h5 y40 ff1 fs2 fc0 sc0 ls0 ws0">引用类型和原始类型的行为完全不同,<span class="_ _29"> </span>并且它们具有不同的语义。<span class="_ _29"> </span>引用类型<span class="_ _47"> </span>和</div><div class="t m0 x3 h5 y41 ff1 fs2 fc0 sc0 ls0 ws0">原始类型具有不同的特征和用法,<span class="_ _2d"></span>它们包括:<span class="_ _2d"> </span>大小和速度问题,<span class="_ _2d"> </span>这<span class="_ _2e"></span>种类型以哪<span class="_ _2b"> </span>种</div><div class="t m0 x3 h5 y42 ff1 fs2 fc0 sc0 ls0 ws0">类型的数据结构存储,<span class="_ _48"> </span>当引用类型和原始类型用作某个类的实例数据时所指定<span class="_ _2b"> </span>的</div><div class="t m0 x3 h5 y43 ff1 fs2 fc0 sc0 ls0 ws0">缺省值。对象引用实例变量的缺省值为<span class="_ _49"> </span>null<span class="_ _4"> </span>,而原始类型实例变量的缺省值与</div><div class="t m0 x3 h5 y44 ff1 fs2 fc0 sc0 ls0 ws0">它们的类型有关。</div><div class="t m0 x3 h5 y45 ff1 fs2 fc0 sc0 ls0 ws0">9<span class="_ _1a"> </span>、<span class="_ _b"> </span>&<span class="_ _1a"> </span>和<span class="_ _b"> </span>&&<span class="_ _b"> </span>的区别?【基础】</div><div class="t m0 x3 h5 y46 ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _4"> </span>&<span class="_ _1a"> </span>是位运算符,表示按位与运算,<span class="_ _4a"> </span>&&<span class="_ _b"> </span>是逻辑运算符,表示逻辑与(<span class="_ _28"> </span>and<span class="_ _8"> </span>)。</div><div class="t m0 x3 h5 y47 ff1 fs2 fc0 sc0 ls0 ws0">10<span class="_ _b"> </span>、简述逻辑操作<span class="_ _4b"> </span>(&,|,^)<span class="_ _35"> </span>与条件操作<span class="_ _37"> </span>(&&,||)<span class="_ _35"> </span>的区别?【基础】</div><div class="t m0 x3 h5 y48 ff1 fs2 fc0 sc0 ls0 ws0">答:区别主要有两点:<span class="_ _3c"> </span>a.<span class="_ _b"> </span>条件操作只能操作布尔型的<span class="_ _4c"> </span>,<span class="_ _1a"> </span>而逻辑操作不仅可以操作</div><div class="t m0 x3 h5 y49 ff1 fs2 fc0 sc0 ls0 ws0">布尔型<span class="_ _f"> </span>,<span class="_ _1a"> </span>而且可以操作数值型<span class="_ _4d"> </span>b.<span class="_ _b"> </span>逻辑操作不会产生短路。</div><div class="t m0 x3 h5 y4a ff1 fs2 fc0 sc0 ls0 ws0">11<span class="_ _b"> </span>、<span class="_ _b"> </span>heap<span class="_ _43"> </span>和<span class="_ _9"> </span>stack<span class="_ _3d"> </span>有什么区别?【基础】</div><div class="t m0 x3 h5 y4b ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _2d"></span>栈是一种线形集合,<span class="_ _2d"> </span>其添加和删除元素的操作应在同一段完成,<span class="_ _2d"> </span>栈<span class="_ _2e"></span>按照后<span class="_ _2b"> </span>进</div><div class="t m0 x3 h5 y4c ff1 fs2 fc0 sc0 ls0 ws0">先出的方式进行处理;堆是栈的一个组成元素。</div></div><div class="pi" data-data='{"ctm":[1.611830,0.000000,0.000000,1.611830,0.000000,0.000000]}'></div></div>
<div id="pf3" class="pf w0 h0" data-page-no="3"><div class="pc pc3 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/627b05be5981aa38ef516a9a/bg3.jpg"><div class="c x0 y1 w0 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">第<span class="_ _0"> </span><span class="ff2">3<span class="_ _1"> </span></span>页<span class="_ _2"> </span>共<span class="_ _0"> </span><span class="ff2">59<span class="_ _0"> </span></span>页</div></div><div class="t m0 x3 h5 y2a ff1 fs2 fc0 sc0 ls0 ws0">12<span class="_ _b"> </span>、<span class="_ _b"> </span>Math.round(11.5)<span class="_ _4e"> </span>等于多少<span class="_ _1b"> </span>?<span class="_ _e"> </span>Math.round(-11.5)<span class="_ _4f"> </span>等于多少<span class="_ _1b"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m3 x3 h5 y2b ff1 fs2 fc0 sc0 ls0 ws0">答<span class="_ _3f"></span>:</div><div class="t m0 x1b h5 y2b ff1 fs2 fc0 sc0 ls0 ws0">Math.round(11.5)==12<span class="_ _50"> </span>Math.round(-11.5)==-11<span class="_ _51"> </span>round<span class="_ _3d"> </span>方法返回与参<span class="_ _10"> </span>数</div><div class="t m0 x3 h5 y2c ff1 fs2 fc0 sc0 ls0 ws0">最接近的长整数,参数加<span class="_ _44"> </span>1/2<span class="_ _12"> </span>后求其<span class="_ _3b"> </span>floor<span class="_ _1c"> </span>。</div><div class="t m0 x3 h5 y4d ff1 fs2 fc0 sc0 ls0 ws0">13</div><div class="t m5 x5 h5 y4d ff1 fs2 fc0 sc0 ls0 ws0">、</div><div class="t m0 x1c h5 y4d ff1 fs2 fc0 sc0 ls0 ws0">swtich<span class="_ _3b"> </span>是否能作用在<span class="_ _3a"> </span>byte<span class="_ _43"> </span>上,<span class="_ _30"> </span>是否能作用在<span class="_ _52"> </span>long<span class="_ _43"> </span>上,<span class="_ _30"> </span>是否能作用在<span class="_ _52"> </span>Stri<span class="_ _4"> </span>ng</div><div class="t m0 x3 h5 y2e ff1 fs2 fc0 sc0 ls0 ws0">上<span class="_ _b"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m7 x3 h5 y2f ff1 fs2 fc0 sc0 ls0 ws0">答<span class="_ _3f"></span>:</div><div class="t m8 x1d h5 y2f ff1 fs2 fc0 sc0 ls0 ws0">s<span class="_ _3e"></span>wi<span class="_ _3e"></span>t<span class="_ _3e"></span>ch</div><div class="t m0 x1e h5 y2f ff1 fs2 fc0 sc0 ls0 ws0">(<span class="_ _b"> </span>expr1</div><div class="t m9 x1f h5 y2f ff1 fs2 fc0 sc0 ls0 ws0">)<span class="_ _2f"></span>中<span class="_ _53"></span>,</div><div class="t m0 x9 h5 y2f ff1 fs2 fc0 sc0 ls0 ws0">expr1<span class="_ _3d"> </span>是一个整数表达式。<span class="_ _29"> </span>因<span class="_ _2e"></span>此传递给<span class="_ _54"> </span>switch<span class="_ _38"> </span>和<span class="_ _7"> </span>c<span class="_ _1a"> </span>ase</div><div class="t m0 x3 h5 y4e ff1 fs2 fc0 sc0 ls0 ws0">语句的参数应该是<span class="_ _4e"> </span>int<span class="_ _8"> </span>、<span class="_ _7"> </span>short<span class="_ _1c"> </span>、<span class="_ _7"> </span>char<span class="_ _5"> </span>或者<span class="_ _5"> </span>byte<span class="_ _4"> </span>。<span class="_ _b"> </span>long,string<span class="_ _17"> </span>都不能作用</div><div class="t m0 x3 h5 y4f ff1 fs2 fc0 sc0 ls0 ws0">于<span class="_ _9"> </span>swtich<span class="_ _f"> </span>。</div><div class="t m0 x3 h5 y50 ff1 fs2 fc0 sc0 ls0 ws0">14<span class="_ _b"> </span>、编程题<span class="_ _1b"> </span>:<span class="_ _e"> </span>用最有效率的方法算出<span class="_ _55"> </span>2<span class="_ _56"> </span>乘以<span class="_ _43"> </span>8<span class="_ _56"> </span>等於几<span class="_ _f"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y51 ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _5"> </span>2<span class="_ _e"> </span><<<span class="_ _7"> </span>3<span class="_ _1a"> </span>。</div><div class="t m0 x3 h5 y52 ff1 fs2 fc0 sc0 ls0 ws0">15<span class="_ _b"> </span>、有没有<span class="_ _19"> </span>length()<span class="_ _1b"> </span>这个方法<span class="_ _1b"> </span>?<span class="_ _e"> </span>String<span class="_ _3b"> </span>有没有<span class="_ _3b"> </span>length()<span class="_ _1b"> </span>这个方法?【基础】</div><div class="t m0 x3 h5 y53 ff1 fs2 fc0 sc0 ls0 ws0">答:数组没有<span class="_ _3a"> </span>length()<span class="_ _1b"> </span>这个方法,有<span class="_ _3a"> </span>length<span class="_ _3b"> </span>的属性。<span class="_ _1b"> </span>String<span class="_ _3b"> </span>有<span class="_ _9"> </span>length()<span class="_ _1b"> </span>这个</div><div class="t m0 x3 h5 y54 ff1 fs2 fc0 sc0 ls0 ws0">方法。</div><div class="t m0 x3 h5 y37 ff1 fs2 fc0 sc0 ls0 ws0">16<span class="_ _b"> </span>、在<span class="_ _43"> </span>JAVA<span class="_ _43"> </span>中,如何跳出当前的多重嵌套循环?【基础】</div><div class="t m0 x3 h5 y55 ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _48"> </span>在最外层循环前加<span class="_ _d"> </span>label<span class="_ _3d"> </span>标识<span class="_ _4"> </span>,<span class="_ _1a"> </span>然后用<span class="_ _3b"> </span>break:label<span class="_ _57"> </span>方法即可跳出多重循环</div><div class="t m4 xb h5 y55 ff1 fs2 fc0 sc0 ls0 ws0">。</div><div class="t m0 x3 h5 y39 ff1 fs2 fc0 sc0 ls0 ws0">17<span class="_ _b"> </span>、构造器<span class="_ _19"> </span>Constructor<span class="_ _57"> </span>是否可被<span class="_ _19"> </span>override?<span class="_ _16"> </span>【基础】</div><div class="t m0 x3 h5 y56 ff1 fs2 fc0 sc0 ls0 ws0">答:构造器<span class="_ _42"> </span>Constructor<span class="_ _57"> </span>不能被继承,因此不能重写<span class="_ _58"> </span>Overriding<span class="_ _37"> </span>,但可以被重</div><div class="t m0 x3 h5 y57 ff1 fs2 fc0 sc0 ls0 ws0">载<span class="_ _9"> </span>Overloading<span class="_ _40"> </span>。</div><div class="t m0 x3 h5 y3c ff1 fs2 fc0 sc0 ls0 ws0">18<span class="_ _b"> </span>、两个对象值相同<span class="_ _13"> </span>(x.equals(y)<span class="_ _11"> </span>==<span class="_ _7"> </span>true)<span class="_ _1c"> </span>,但却可有不同的<span class="_ _59"> </span>hash<span class="_ _5"> </span>code<span class="_ _4"> </span>,这</div><div class="t m0 x3 h5 y3d ff1 fs2 fc0 sc0 ls0 ws0">句话对不对<span class="_ _37"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y3e ff1 fs2 fc0 sc0 ls0 ws0">答:不对,有相同的<span class="_ _4d"> </span>hash<span class="_ _5"> </span>code<span class="_ _4"> </span>。</div><div class="t m0 x3 h5 y58 ff1 fs2 fc0 sc0 ls0 ws0">19<span class="_ _b"> </span>、是否可以继承<span class="_ _5a"> </span>String<span class="_ _3b"> </span>类<span class="_ _b"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y59 ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _4"> </span>String<span class="_ _3b"> </span>类是<span class="_ _43"> </span>final<span class="_ _3d"> </span>类,故不可以继承。</div><div class="t m0 x3 h5 y5a ff1 fs2 fc0 sc0 ls0 ws0">20<span class="_ _b"> </span>、以下二条语句返回值为<span class="_ _44"> </span>true<span class="_ _43"> </span>的有:</div><div class="t m0 x3 h5 y5b ff1 fs2 fc0 sc0 ls0 ws0">A<span class="_ _1a"> </span>:<span class="_ _b"> </span>“<span class="_ _b"> </span>beijing<span class="_ _35"> </span>”<span class="_ _b"> </span>==<span class="_ _b"> </span>“<span class="_ _b"> </span>beijing<span class="_ _35"> </span>”<span class="_ _b"> </span>;</div><div class="t m0 x3 h5 y5c ff1 fs2 fc0 sc0 ls0 ws0">B<span class="_ _1a"> </span>:<span class="_ _b"> </span>“<span class="_ _b"> </span>beijing<span class="_ _35"> </span>”<span class="_ _b"> </span>.equalsIgnoreCase<span class="_ _4f"> </span>(<span class="_ _b"> </span>new<span class="_ _14"> </span>String<span class="_ _f"> </span>(<span class="_ _b"> </span>“<span class="_ _b"> </span>beijing<span class="_ _35"> </span>”</div><div class="t ma x20 h5 y5c ff1 fs2 fc0 sc0 ls0 ws0">));</div><div class="t m0 x21 h5 y5c ff1 fs2 fc0 sc0 ls0 ws0">【基础】</div><div class="t m0 x3 h7 y5d ff1 fs4 fc0 sc0 ls0 ws0">答:</div><div class="t m8 x1c h8 y5d ff2 fs4 fc0 sc0 ls0 ws0">A</div><div class="t m0 x22 h7 y5d ff1 fs4 fc0 sc0 ls0 ws0">和<span class="_ _b"> </span><span class="ff2">B<span class="_ _5b"> </span></span>。</div><div class="t m0 x3 h5 y5e ff1 fs2 fc0 sc0 ls0 ws0">21<span class="_ _b"> </span>、当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,</div><div class="t m0 x3 h5 y5f ff1 fs2 fc0 sc0 ls0 ws0">并可返回变化后的结果,那么这里到底是值传递还是引用传递<span class="_ _2c"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y60 ff1 fs2 fc0 sc0 ls0 ws0">答:是值传递。<span class="_ _4b"> </span>Java<span class="_ _5"> </span>编程语言只有值传递参数。当一个对象实例作为一个参数</div><div class="t m0 x3 h5 y61 ff1 fs2 fc0 sc0 ls0 ws0">被传递到方法中时,<span class="_ _29"> </span>参数的值就是对该对象的引用。<span class="_ _29"> </span>对象的内容可以在被调用<span class="_ _2b"> </span>的</div><div class="t m0 x3 h5 y62 ff1 fs2 fc0 sc0 ls0 ws0">方法中改变,但对象的引用是永远不会改变的。</div><div class="t m0 x3 h5 y63 ff1 fs2 fc0 sc0 ls0 ws0">22<span class="_ _b"> </span>、我们在<span class="_ _19"> </span>web<span class="_ _12"> </span>应用开发过程中经常遇到输出某种编码的字符,如<span class="_ _5c"> </span>iso8859-1</div><div class="t m0 x3 h5 y64 ff1 fs2 fc0 sc0 ls0 ws0">等,如何输出一个某种编码的字符串?【基础】</div><div class="t m0 x3 h5 y65 ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _4"> </span>public<span class="_ _38"> </span>String<span class="_ _38"> </span>translate(String<span class="_ _4e"> </span>str){</div></div><div class="pi" data-data='{"ctm":[1.611830,0.000000,0.000000,1.611830,0.000000,0.000000]}'></div></div>
<div id="pf4" class="pf w0 h0" data-page-no="4"><div class="pc pc4 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/627b05be5981aa38ef516a9a/bg4.jpg"><div class="c x0 y1 w0 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">第<span class="_ _0"> </span><span class="ff2">4<span class="_ _1"> </span></span>页<span class="_ _2"> </span>共<span class="_ _0"> </span><span class="ff2">59<span class="_ _0"> </span></span>页</div></div><div class="t m0 x23 h5 y2a ff1 fs2 fc0 sc0 ls0 ws0">String<span class="_ _38"> </span>tempStr<span class="_ _45"> </span>=<span class="_ _e"> </span>"";</div><div class="t m0 x23 h5 y2b ff1 fs2 fc0 sc0 ls0 ws0">try{</div><div class="t m0 x24 h5 y2c ff1 fs2 fc0 sc0 ls0 ws0">tempStr<span class="_ _45"> </span>=<span class="_ _e"> </span>new<span class="_ _14"> </span>String(str.getBytes("ISO-8859-1"),<span class="_ _49"> </span>"GBK");</div><div class="t m0 x24 h5 y2d ff1 fs2 fc0 sc0 ls0 ws0">tempStr<span class="_ _45"> </span>=<span class="_ _e"> </span>tempStr.trim();</div><div class="t m0 x23 h5 y66 ff1 fs2 fc0 sc0 ls0 ws0">}catch<span class="_ _38"> </span>(Exception<span class="_ _39"> </span>e){</div><div class="t m0 x24 h5 y67 ff1 fs2 fc0 sc0 ls0 ws0">System.err.println(e.getMessage());</div><div class="t m0 x23 h5 y68 ff1 fs2 fc0 sc0 ls0 ws0">}</div><div class="t m0 x23 h5 y69 ff1 fs2 fc0 sc0 ls0 ws0">return<span class="_ _38"> </span>tempStr;</div><div class="t m0 x4 h5 y6a ff1 fs2 fc0 sc0 ls0 ws0">}</div><div class="t m0 x3 h5 y6b ff1 fs2 fc0 sc0 ls0 ws0">23<span class="_ _b"> </span>、<span class="_ _b"> </span>String<span class="_ _38"> </span>和<span class="_ _9"> </span>StringBuffer<span class="_ _3a"> </span>的区别<span class="_ _f"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y6c ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _5d"> </span>JAVA<span class="_ _43"> </span>平台提供了两个类:<span class="_ _5e"> </span>String<span class="_ _3b"> </span>和<span class="_ _9"> </span>StringBuffer<span class="_ _10"> </span>,<span class="_ _2e"></span>它们可以储存和操作<span class="_ _5f"> </span>字</div><div class="t m0 x3 h5 y6d ff1 fs2 fc0 sc0 ls0 ws0">符串,即包含多个字符的字符数据。这个<span class="_ _60"> </span>String<span class="_ _3b"> </span>类提供了数值不可改变的字符</div><div class="t m0 x3 h5 y6e ff1 fs2 fc0 sc0 ls0 ws0">串。而这个<span class="_ _42"> </span>StringBuffer<span class="_ _3a"> </span>类提供的字符串进行修改。当你知道字符数据要改变</div><div class="t m0 x3 h5 y6f ff1 fs2 fc0 sc0 ls0 ws0">的时候你就可以使用<span class="_ _4d"> </span>StringBuffer<span class="_ _10"> </span>。典型地,你可以使用<span class="_ _55"> </span>StringBuffers<span class="_ _61"> </span>来动</div><div class="t m0 x3 h5 y70 ff1 fs2 fc0 sc0 ls0 ws0">态构造字符数据。</div><div class="t m0 x3 h5 y71 ff1 fs2 fc0 sc0 ls0 ws0">24<span class="_ _b"> </span>、<span class="_ _b"> </span>String,<span class="_ _1b"> </span>StringBuffer<span class="_ _6"> </span>StringBuilder<span class="_ _61"> </span>的区别</div><div class="t m7 x25 h5 y71 ff1 fs2 fc0 sc0 ls0 ws0">。<span class="_ _32"> </span>【<span class="_ _3f"></span>基<span class="_ _53"></span>础<span class="_ _3f"></span>】</div><div class="t m0 x3 h5 y72 ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _4"> </span>String<span class="_ _3b"> </span>的长度是不可变的;</div><div class="t m0 x4 h5 y73 ff1 fs2 fc0 sc0 ls0 ws0">StringBuffer<span class="_ _62"> </span>的长<span class="_ _3e"></span>度是<span class="_ _3"></span>可<span class="_ _3"></span>变的<span class="_ _3e"></span>,如<span class="_ _3e"></span>果你<span class="_ _3e"></span>对字<span class="_ _3"></span>符<span class="_ _3"></span>串中<span class="_ _3e"></span>的内<span class="_ _3e"></span>容经<span class="_ _3e"></span>常进<span class="_ _3"></span>行<span class="_ _3"></span>操作<span class="_ _3e"></span>,</div><div class="t m0 x3 h5 y74 ff1 fs2 fc0 sc0 ls0 ws0">特别是内容要修改时<span class="_ _3"></span>,那么使用<span class="_ _63"> </span>StringBuffer<span class="_ _10"> </span>,如果最后需要<span class="_ _64"> </span>String<span class="_ _f"> </span>,那么使</div><div class="t m0 x3 h5 y75 ff1 fs2 fc0 sc0 ls0 ws0">用<span class="_ _9"> </span>StringBuffer<span class="_ _3a"> </span>的<span class="_ _9"> </span>toString()<span class="_ _37"> </span>方法;线程安全;</div><div class="t m0 x4 h5 y76 ff1 fs2 fc0 sc0 ls0 ws0">StringBuilder<span class="_ _61"> </span>是<span class="_ _b"> </span>从<span class="_ _7"> </span>JDK<span class="_ _14"> </span>5<span class="_ _e"> </span>开始,<span class="_ _2d"></span>为<span class="_ _1b"> </span>StringBuffer<span class="_ _3a"> </span>该类补充了一个单个<span class="_ _65"> </span>线</div><div class="t m0 x3 h5 y77 ff1 fs2 fc0 sc0 ls0 ws0">程使用的等价类<span class="_ _4b"> </span>;<span class="_ _b"> </span>通常应该优先使用<span class="_ _4e"> </span>StringBuilder<span class="_ _18"> </span>类,因为它支持所有相同</div><div class="t m0 x3 h5 y78 ff1 fs2 fc0 sc0 ls0 ws0">的操作,但由于它不执行同步,所以速度更快<span class="_ _66"> </span>。</div><div class="t m0 x3 h5 y79 ff1 fs2 fc0 sc0 ls0 ws0">25</div><div class="t mb x5 h5 y79 ff1 fs2 fc0 sc0 ls0 ws0">、</div><div class="t m0 x1d h5 y79 ff1 fs2 fc0 sc0 ls0 ws0">Overload<span class="_ _19"> </span>和<span class="_ _9"> </span>Override<span class="_ _19"> </span>的区别。<span class="_ _67"> </span>Overloaded<span class="_ _42"> </span>的方法是否可以改变返回值的<span class="_ _28"> </span>类</div><div class="t m0 x3 h5 y7a ff1 fs2 fc0 sc0 ls0 ws0">型<span class="_ _b"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y7b ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _29"> </span>方法的重写<span class="_ _68"> </span>Overriding<span class="_ _42"> </span>和重载<span class="_ _3b"> </span>Overloading<span class="_ _57"> </span>是<span class="_ _9"> </span>Java<span class="_ _43"> </span>多态性的不同表现。<span class="_ _69"> </span>重</div><div class="t m0 x3 h5 y7c ff1 fs2 fc0 sc0 ls0 ws0">写<span class="_ _9"> </span>Overriding<span class="_ _42"> </span>是父类与子类之间多态性的一种表现,重载<span class="_ _6a"> </span>Overloading<span class="_ _57"> </span>是一个</div><div class="t m0 x3 h5 y7d ff1 fs2 fc0 sc0 ls0 ws0">类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参</div><div class="t m0 x3 h5 y7e ff1 fs2 fc0 sc0 ls0 ws0">数,我们说该方法被重写<span class="_ _c"> </span>(Overriding)<span class="_ _10"> </span>。子类的对象使用这个方法时,将调用</div><div class="t m0 x3 h5 y7f ff1 fs2 fc0 sc0 ls0 ws0">子类中的定义,<span class="_ _2f"></span>对它而言,<span class="_ _2f"></span>父类中的定义如同被<span class="_ _6b"> </span>“<span class="_ _b"> </span>屏蔽</div><div class="t m3 x26 h5 y7f ff1 fs2 fc0 sc0 ls0 ws0">”</div><div class="t m0 x27 h5 y7f ff1 fs2 fc0 sc0 ls0 ws0">了。<span class="_ _2f"></span>如果在一个类中<span class="_ _6c"> </span>定</div><div class="t m0 x3 h5 y80 ff1 fs2 fc0 sc0 ls0 ws0">义了多个同名的方法,<span class="_ _29"> </span>它们或有不同的参数个数或有不同的参数类型,<span class="_ _29"> </span>则称为<span class="_ _2b"> </span>方</div><div class="t m0 x3 h5 y81 ff1 fs2 fc0 sc0 ls0 ws0">法的重载<span class="_ _1b"> </span>(Overloading)<span class="_ _6"> </span>。<span class="_ _b"> </span>Ov<span class="_ _b"> </span>erloaded<span class="_ _19"> </span>的方法是可以改变返回值的类型。</div><div class="t m0 x3 h5 y82 ff1 fs2 fc0 sc0 ls0 ws0">26<span class="_ _b"> </span>、<span class="_ _b"> </span>定义类<span class="_ _3b"> </span>A<span class="_ _56"> </span>和类<span class="_ _43"> </span>B</div><div class="t mc x28 h5 y82 ff1 fs2 fc0 sc0 ls0 ws0">如<span class="_ _6d"></span>下<span class="_ _6d"></span>:</div><div class="t m0 x29 h5 y82 ff1 fs2 fc0 sc0 ls0 ws0">【基础】</div><div class="t m0 x7 h5 y83 ff1 fs2 fc0 sc0 ls0 ws0">class<span class="_ _f"> </span>A<span class="_ _e"> </span>{</div><div class="t m0 x2a h5 y84 ff1 fs2 fc0 sc0 ls0 ws0">i<span class="_ _1a"> </span>nt<span class="_ _8"> </span>a=1;</div><div class="t m0 x2a h5 y85 ff1 fs2 fc0 sc0 ls0 ws0">double<span class="_ _35"> </span>d=2.0;</div><div class="t m0 x2a h5 y86 ff1 fs2 fc0 sc0 ls0 ws0">void<span class="_ _1c"> </span>show(){</div><div class="t m0 x2b h5 y87 ff1 fs2 fc0 sc0 ls0 ws0">System.out.println("Class<span class="_ _6e"> </span>A:<span class="_ _7"> </span>a="+a<span class="_ _a"> </span>+"\td="+d);</div><div class="t m0 x2a h5 y88 ff1 fs2 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1c h5 y89 ff1 fs2 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1c h5 y8a ff1 fs2 fc0 sc0 ls0 ws0">class<span class="_ _a"> </span>B<span class="_ _e"> </span>extends<span class="_ _45"> </span>A{</div></div><div class="pi" data-data='{"ctm":[1.611830,0.000000,0.000000,1.611830,0.000000,0.000000]}'></div></div>
<div id="pf5" class="pf w0 h0" data-page-no="5"><div class="pc pc5 w0 h0"><img class="bi x0 y0 w1 h1" alt="" src="https://static.pudn.com/prod/directory_preview_static/627b05be5981aa38ef516a9a/bg5.jpg"><div class="c x0 y1 w0 h2"><div class="t m0 x1 h3 y2 ff1 fs0 fc0 sc0 ls0 ws0">第<span class="_ _0"> </span><span class="ff2">5<span class="_ _1"> </span></span>页<span class="_ _2"> </span>共<span class="_ _0"> </span><span class="ff2">59<span class="_ _0"> </span></span>页</div></div><div class="t m0 x2a h5 y2a ff1 fs2 fc0 sc0 ls0 ws0">float<span class="_ _f"> </span>a=3.0f;</div><div class="t m0 x2a h5 y2b ff1 fs2 fc0 sc0 ls0 ws0">String<span class="_ _35"> </span>d="Java<span class="_ _45"> </span>program.";</div><div class="t m0 x2a h5 y2c ff1 fs2 fc0 sc0 ls0 ws0">void<span class="_ _1c"> </span>show(){</div><div class="t m0 x2b h5 y2d ff1 fs2 fc0 sc0 ls0 ws0">super.show(<span class="_ _17"> </span>);</div><div class="t m0 x2b h5 y66 ff1 fs2 fc0 sc0 ls0 ws0">System.out.println("Class<span class="_ _6e"> </span>B:<span class="_ _8"> </span>a="+a<span class="_ _a"> </span>+"\td="+d);</div><div class="t m0 x2a h5 y67 ff1 fs2 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1c h5 y68 ff1 fs2 fc0 sc0 ls0 ws0">}</div><div class="t m0 x1c h5 y69 ff1 fs2 fc0 sc0 ls0 ws0">(1)<span class="_ _14"> </span>若在应用程序的<span class="_ _5a"> </span>main<span class="_ _43"> </span>方法中有以下语句:</div><div class="t m0 x2a h5 y6a ff1 fs2 fc0 sc0 ls0 ws0">A<span class="_ _b"> </span>a=new<span class="_ _a"> </span>A();</div><div class="t m0 x2a h5 y8b ff1 fs2 fc0 sc0 ls0 ws0">a.show();</div><div class="t m0 x2a h5 y8c ff1 fs2 fc0 sc0 ls0 ws0">则输出的结果如何?</div><div class="t m0 x1c h5 y8d ff1 fs2 fc0 sc0 ls0 ws0">(2)<span class="_ _14"> </span>若在应用程序的<span class="_ _5a"> </span>main<span class="_ _43"> </span>方法中定义类<span class="_ _3a"> </span>B<span class="_ _56"> </span>的对象<span class="_ _3b"> </span>b<span class="_ _1a"> </span>:</div><div class="t m0 x2a h5 y8e ff1 fs2 fc0 sc0 ls0 ws0">A<span class="_ _b"> </span>b=new<span class="_ _a"> </span>B();</div><div class="t m0 x2a h5 y8f ff1 fs2 fc0 sc0 ls0 ws0">b.show();</div><div class="t m0 x2a h5 y90 ff1 fs2 fc0 sc0 ls0 ws0">则输出的结果如何?</div><div class="t m0 x3 h5 y91 ff1 fs2 fc0 sc0 ls0 ws0">答:输出结果为:</div><div class="t m0 x4 h5 y92 ff1 fs2 fc0 sc0 ls0 ws0">1<span class="_ _1a"> </span>)<span class="_ _b"> </span>Class<span class="_ _a"> </span>A:<span class="_ _7"> </span>a=1<span class="_ _4"> </span>d=2.0<span class="_ _f"> </span>;</div><div class="t m0 x4 h5 y93 ff1 fs2 fc0 sc0 ls0 ws0">2<span class="_ _1a"> </span>)<span class="_ _b"> </span>Class<span class="_ _a"> </span>A:<span class="_ _7"> </span>a=1<span class="_ _4"> </span>d=2.0</div><div class="t m0 x2a h5 y94 ff1 fs2 fc0 sc0 ls0 ws0">Class<span class="_ _a"> </span>B:<span class="_ _8"> </span>a=3.0<span class="_ _3b"> </span>d=Java<span class="_ _38"> </span>program<span class="_ _35"> </span>。</div><div class="t m0 x3 h5 y95 ff1 fs2 fc0 sc0 ls0 ws0">27<span class="_ _b"> </span>、描述一下<span class="_ _42"> </span>JVM<span class="_ _12"> </span>加载<span class="_ _43"> </span>class<span class="_ _3d"> </span>文件的原理机制<span class="_ _4b"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y96 ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _4"> </span>JVM<span class="_ _12"> </span>中类的装载是由<span class="_ _5a"> </span>ClassLoader<span class="_ _57"> </span>和它的子类来实现的<span class="_ _6f"> </span>,Java<span class="_ _a"> </span>ClassLoader</div><div class="t m0 x3 h5 y97 ff1 fs2 fc0 sc0 ls0 ws0">是一个重要的<span class="_ _3a"> </span>Java<span class="_ _43"> </span>运行时系统组件。它负责在运行时查找和装入类文件的类。</div><div class="t m0 x3 h5 y78 ff1 fs2 fc0 sc0 ls0 ws0">28<span class="_ _b"> </span>、<span class="_ _b"> </span>char<span class="_ _43"> </span>型变量中能不能存贮一个中文汉字<span class="_ _70"> </span>?<span class="_ _1a"> </span>为什么<span class="_ _f"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y98 ff1 fs2 fc0 sc0 ls0 ws0">答:能够定义成为一个中文的,因为<span class="_ _71"> </span>java<span class="_ _43"> </span>中以<span class="_ _43"> </span>unicode<span class="_ _46"> </span>编码,一个<span class="_ _42"> </span>char<span class="_ _43"> </span>占<span class="_ _9"> </span>16</div><div class="t m0 x3 h5 y99 ff1 fs2 fc0 sc0 ls0 ws0">个字节,所以放一个中文是没问题的。</div><div class="t m0 x3 h5 y7b ff1 fs2 fc0 sc0 ls0 ws0">29<span class="_ _b"> </span>、<span class="_ _b"> </span>abstract<span class="_ _72"> </span>class<span class="_ _3d"> </span>和<span class="_ _9"> </span>interface<span class="_ _73"> </span>有什么区别<span class="_ _37"> </span>?<span class="_ _e"> </span>【基础】</div><div class="t m0 x3 h5 y7c ff1 fs2 fc0 sc0 ls0 ws0">答:<span class="_ _2f"></span>声<span class="_ _2e"></span>明方法的存在而不去实现它的类被叫做抽象类<span class="_ _2f"></span>(<span class="_ _74"> </span>abstract<span class="_ _72"> </span>class</div><div class="t m3 x2c h5 y7c ff1 fs2 fc0 sc0 ls0 ws0">),<span class="_ _2e"></span>它</div><div class="t m0 x2d h5 y7c ff1 fs2 fc0 sc0 ls0 ws0">用</div><div class="t m0 x3 h5 y7d ff1 fs2 fc0 sc0 ls0 ws0">于要创建一个体现某些基本行为的类,<span class="_ _29"> </span>并为该类声明方法,<span class="_ _29"> </span>但不能在该类中实<span class="_ _2b"> </span>现</div><div class="t m0 x3 h5 y7e ff1 fs2 fc0 sc0 ls0 ws0">该类的情况。<span class="_ _2e"></span>不能创建<span class="_ _75"> </span>abstract<span class="_ _72"> </span>类的实例。<span class="_ _2e"></span>然而可以创建一个变量,<span class="_ _2e"></span>其<span class="_ _2e"></span>类型<span class="_ _76"> </span>是</div><div class="t m0 x3 h5 y7f ff1 fs2 fc0 sc0 ls0 ws0">一个抽象类,<span class="_ _29"> </span>并让它指向具体子类的一个实例。<span class="_ _29"> </span>不能有抽象构造函数或抽象静<span class="_ _2b"> </span>态</div><div class="t m0 x3 h5 y80 ff1 fs2 fc0 sc0 ls0 ws0">方法。<span class="_ _f"> </span>Abstract<span class="_ _72"> </span>类的子类为它们父类中的所有抽象方法提供实现,否则它们也</div><div class="t m0 x3 h5 y81 ff1 fs2 fc0 sc0 ls0 ws0">是抽象类为。<span class="_ _2d"></span>取而代之,<span class="_ _2d"> </span>在子类中实现该方法。<span class="_ _2d"> </span>知<span class="_ _2e"></span>道其行为的其它类可以在类<span class="_ _2b"> </span>中</div><div class="t m0 x3 h5 y9a ff1 fs2 fc0 sc0 ls0 ws0">实现这些方法。接口(<span class="_ _3c"> </span>interface<span class="_ _15"> </span>)是抽象类的变体。新型<span class="_ _77"> </span>多继承性可通过实现</div><div class="t m0 x3 h5 y9b ff1 fs2 fc0 sc0 ls0 ws0">这样的接口而获得。接口中的所有方法都是抽象的,所有成员变量都是<span class="_ _78"> </span>public</div><div class="t m0 x3 h5 y9c ff1 fs2 fc0 sc0 ls0 ws0">static<span class="_ _38"> </span>final<span class="_ _3d"> </span>的。<span class="_ _79"> </span>一个类可以实现多个接口,<span class="_ _79"> </span>当类实现特殊接口时,<span class="_ _29"> </span>它定义<span class="_ _2d"> </span>(<span class="_ _7a"> </span>即</div><div class="t m0 x3 h5 y9d ff1 fs2 fc0 sc0 ls0 ws0">将程序体给予)<span class="_ _2d"></span>所有这种接口的方法。<span class="_ _2d"> </span>然后,<span class="_ _2d"> </span>它<span class="_ _2e"></span>可以在实现了该接口的类的任<span class="_ _2b"> </span>何</div><div class="t m0 x3 h5 y9e ff1 fs2 fc0 sc0 ls0 ws0">对象上调用接口的方法。<span class="_ _32"> </span>由于有抽象类,<span class="_ _32"> </span>它允许使用接口名作为引用变量的类</div><div class="t m1 x6 h5 y9e ff1 fs2 fc0 sc0 ls0 ws0">型<span class="_ _31"></span>。</div><div class="t m0 x3 h5 y9f ff1 fs2 fc0 sc0 ls0 ws0">通常的动态联编将生效。引用可以转换到接口类型或从接口类型转换,</div><div class="t m0 x3 h5 ya0 ff1 fs2 fc0 sc0 ls0 ws0">instanceof<span class="_ _39"> </span>运算符可以用来决定某对象的类是否实现了接口。</div></div><div class="pi" data-data='{"ctm":[1.611830,0.000000,0.000000,1.611830,0.000000,0.000000]}'></div></div>