Java编程思想(2nd)学习笔记(7)
第2章</FONT><span style="FONT: 7pt ''Times New Roman''"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">多态</FONT></P> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">一.再探向上转型(<span lang=EN-US>upcasting<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">)</FONT></P> <span lang=EN-US><span style="mso-tab-count: 1"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">将某个<span lang=EN-US>object<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>reference<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">视为一个“<span lang=EN-US>reference<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>to<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>base<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>type<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">“的动作,称为向上转型。</FONT></P> ndENT: -18pt; mso-list: l2 level2 lfo1; tab-stops: list 39.0pt"><span lang=EN-US>1.</FONT><span style="FONT: 7pt ''Times New Roman''"> <span lang=EN-US>Upcasting<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">后调用某个函数时,如果<span lang=EN-US>derived<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">中覆写了该函数,则会调用<span lang=EN-US>derived<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">中的函数;否则,会调用<span lang=EN-US>base<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">中的函数。如</FONT></P> <span lang=EN-US>class First{</FONT> <span lang=EN-US><span style="mso-spacerun: yes"> public void prt(){</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> System.out.println("First");</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> }</FONT></P> <span lang=EN-US>}</FONT> <span lang=EN-US>class Second extends First{</FONT> <span lang=EN-US><span style="mso-tab-count: 1"> //<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">(<span lang=EN-US>a<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">)</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public void prt(){</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> System.out.println("Second");</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> }</FONT></P> <span lang=EN-US>}</FONT> <span lang=EN-US>public class ExplicitStatic{</FONT> <span lang=EN-US><span style="mso-spacerun: yes"> public static void main(String[] args){</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> First n = new Second();</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> n.prt();;</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> }</FONT></P> <span lang=EN-US>}</FONT> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">结果为<span lang=EN-US>Second<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">。如果当<span lang=EN-US>Second<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">中的<span lang=EN-US>prt()<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">函数注释掉,将输出<span lang=EN-US>First<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">。</FONT></P> 2.</FONT><span style="FONT: 7pt ''Times New Roman''"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">向上转型后只能调用<span lang=EN-US>base<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">中被<span lang=EN-US>derived<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">覆写的函数。</FONT></P> <span lang=EN-US>/*</FONT> <span lang=EN-US>abstract class First{</FONT> <span lang=EN-US><span style="mso-spacerun: yes"> int i = 122;</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public void prt(){</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> System.out.println("First.i = " i);</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> }</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public abstract void prt(First f);</FONT></P> <span lang=EN-US>}</FONT> <span lang=EN-US> <o:p></o:p></FONT> <span lang=EN-US>class Second extends First{</FONT> <span lang=EN-US><span style="mso-spacerun: yes"> public void prt(){</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> <span style="mso-spacerun: yes"> System.out.println("Second.i = " i);</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> }</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> </FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public void prt(First i)</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> {</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> </FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> }</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> </FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public void prt(int i)</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> {</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> </FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> }</FONT></P> <span lang=EN-US>}</FONT> <span lang=EN-US>public class ExplicitStatic{</FONT> <span lang=EN-US><span style="mso-spacerun: yes"> public static void main(String[] args){</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> First n = new Second();</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> n.prt(2);;</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> }</FONT></P> <span lang=EN-US>}</FONT> <span lang=EN-US>*/</FONT> <span lang=EN-US>class First{</FONT> <span lang=EN-US><span style="mso-spacerun: yes"> public void prt(){</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> System.out.println("First");</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> }</FONT></P> <span lang=EN-US>}</FONT> <span lang=EN-US>class Second extends First{</FONT> <span lang=EN-US><span style="mso-tab-count: 1"> //<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">(<span lang=EN-US>a<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">)</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public void prt(){</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> System.out.println("Second");</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> }</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public void prt(int i){//<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">(<span lang=EN-US>a<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">)</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> System.out.println("Second.i = " i);</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> }</FONT></P> <span lang=EN-US>}</FONT> <span lang=EN-US>public class ExplicitStatic{</FONT> <span lang=EN-US><span style="mso-spacerun: yes"> public static void main(String[] args){</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> First n = new Second();</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> n.prt(3);</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> }</FONT></P> <span lang=EN-US>}</FONT> (<span lang=EN-US>a<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">)处的函数只是<span lang=EN-US>Second<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">中的函数,所以不能通过<span lang=EN-US>n.prt(3)<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">进行调用。</FONT></P> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">二.<span lang=EN-US>Abstract<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">和<span lang=EN-US>Abstract<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>methods</FONT></P> 1.</FONT><span style="FONT: 7pt ''Times New Roman''"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">如果一个<span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">中存在<span lang=EN-US>abstract<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">,则<span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">也必须被声明为<span lang=EN-US>abstract<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">。</FONT></P> ndENT: -18pt; mso-list: l0 level1 lfo2; tab-stops: list 36.0pt"><span lang=EN-US>2.</FONT><span style="FONT: 7pt ''Times New Roman''"> <span lang=EN-US>abstract<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">不能被实例化。</FONT></P> 3.</FONT><span style="FONT: 7pt ''Times New Roman''"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">如果<span lang=EN-US>base<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">是一个<span lang=EN-US>abstract<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">,那么<span lang=EN-US>derived<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">必须实现<span lang=EN-US>base<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">中所有的<span lang=EN-US>abstract<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>methods<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">;否则,<span lang=EN-US>derived<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">也必须被声明为<span lang=EN-US>abstract<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">。</FONT></P> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">三.其它要点</FONT> ndENT: -18pt; mso-list: l1 level1 lfo3; tab-stops: list 36.0pt"><span lang=EN-US>1.</FONT><span style="FONT: 7pt ''Times New Roman''"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">纯粹继承与扩充</FONT></P> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">纯粹继承:只有<span lang=EN-US>base<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">所建议的函数,才被<span lang=EN-US>derived<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">加以覆写。</FONT></P> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">扩充:除了覆写<span lang=EN-US>base<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">的函数,还实现了自己的函数</FONT></P> <span lang=EN-US><span style="mso-tab-count: 2"> abstract class First{</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public abstract void f();</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public abstract void g();</FONT></P> <span lang=EN-US>}</FONT> <span lang=EN-US>//<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">纯粹继承</FONT></P> <span lang=EN-US>class Second extends First{</FONT> <span lang=EN-US><span style="mso-spacerun: yes"> public void f(){}</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public void g(){}</FONT></P> <span lang=EN-US>}</FONT> <span lang=EN-US>//<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">扩充</FONT></P> <span lang=EN-US>class Third extends First{</FONT> <span lang=EN-US><span style="mso-spacerun: yes"> public void f(){}</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public void g(){}</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public void u(){}//base<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">不存在的函数</FONT></P> <span lang=EN-US>}</FONT> 2.</FONT><span style="FONT: 7pt ''Times New Roman''"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">向下转型</FONT></P> ndENT: -18pt; mso-list: l1 level2 lfo3; tab-stops: list 36.0pt"><span lang=EN-US>1)</FONT><span style="FONT: 7pt ''Times New Roman''"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">向下转型时只能调用<span lang=EN-US>base<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">中被覆写过的函数</FONT></P> 2)</FONT><span style="FONT: 7pt ''Times New Roman''"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">只有本来就为<span lang=EN-US>derived<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">对象时才能正确向下转弄。</FONT></P> <span lang=EN-US>class First{</FONT> <span lang=EN-US><span style="mso-spacerun: yes"> public void f(){}</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public void g(){}</FONT></P> <span lang=EN-US>}</FONT> <span lang=EN-US>class Second extends First{</FONT> <span lang=EN-US><span style="mso-spacerun: yes"> public void f(){}</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public void g(){}</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public void u(){}</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> public void v(){}</FONT></P> <span lang=EN-US>}</FONT> <span lang=EN-US>public class ExplicitStatic{</FONT> <span lang=EN-US><span style="mso-spacerun: yes"> public static void main(String[] args){</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> <span style="mso-spacerun: yes"> First[] x = {new First(), new Second()};</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> x[0].f();</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> x[1].g();</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> //<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">!<span lang=EN-US>x[1].u();class<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''"> <span lang=EN-US>First<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">中不存在函数<span lang=EN-US>u()</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> //((Second)x[0]).f();<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">(<span lang=EN-US>a<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">)</FONT></P> <span lang=EN-US><span style="mso-spacerun: yes"> ((Second)x[1]).u();</FONT></P> }</FONT> <span lang=EN-US><span style="mso-tab-count: 2"> }</FONT></P> <span lang=EN-US><span style="mso-tab-count: 2"> <span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">(<span lang=EN-US>a<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">)处会抛出<span lang=EN-US>ClassCastException<span style="FONT-FAMILY: 宋体; mso-ascii-font-family: ''Times New Roman''; mso-hansi-font-family: ''Times New Roman''">异常。</FONT></P> 您可能感兴趣的文章:
</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>
Java学习路径(二)书籍篇
Java入门笔记1_HelloWorld
Golang笔记:语法,并发思想,web开发,Go微服务相关
(原)JAVA入门书籍读后感
Golang学习笔记(五):Go语言与C语言的区别
转-如何学习java
java中字符串学习笔记
photoshop设计父亲节主题粉笔画效果制作教程
J2EE学习笔记--MVC框架
Struts 学习笔记之Action