黑马程序员———面向对象

------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
<span style="font-size:18px;">
</span> 
<div><span style="font-size:18px;">面向对象:

</span><ol><li style="font-size: 19px;"><strong><span style="font-size:18px;color:#ff0000;">面向对象概念</span></strong></li><li style="font-size: 19px;"><strong><span style="font-size:18px;color:#ff0000;">类与对象的关系</span></strong></li><li style="font-size: 19px;"><strong><span style="font-size:18px;color:#ff0000;">封装</span></strong></li><li style="font-size: 19px;"><strong><span style="font-size:18px;color:#ff0000;">构造函数</span></strong></li><li style="font-size: 19px;"><strong><span style="font-size:18px;color:#ff0000;">this关键字</span></strong></li><li style="font-size: 19px;"><strong><span style="font-size:18px;color:#ff0000;">static关键字</span></strong></li><li style="font-size: 19px;"><strong><span style="font-size:18px;color:#ff0000;">单例设计模式</span></strong></li></ol>

<ul><li><span style="font-size:18px;"><strong>理解面向对象</strong>:</span></li></ul><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     1.是一种<strong>思想</strong>。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     2.是<strong>相对面向过程而言</strong>。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     3.面向过程:强调的是<strong>功能行为</strong></span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     4.面向对象:将功能封装成对象,强调<strong>具备了功能的对象</strong>。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     5.面向对象是<strong>基于面向过程</strong>的。</span></blockquote></blockquote>
<blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">          面向对象思想:</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">打开冰箱        冰箱.打开    </span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">存储              冰箱.存储</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">关闭冰箱        冰箱.关闭</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">人开门            门.打开</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">人关门                 门.关闭</span></blockquote></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">
</span></blockquote>
<blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">公司面试-->公司接了300万的项目,公司要招人,面试官就是在面向对象,</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">我就是那个对象,因为我具备开发经验.</span></blockquote></blockquote></blockquote>
<blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">名词提炼法:</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">人</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">{</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     开门(门)</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     {</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">       门.开();</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     }</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">}</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">门</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">{</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     开(){操作门轴等}</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">}</span></blockquote></blockquote></blockquote>
<ul><li style="font-size: 16px;"><strong><span style="font-size:18px;">面向对象有三个特征:封装,继承,多态.</span></strong></li></ul>
<blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">开发就是在对象用,没有对象,就创建一个对象.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">找对象,建立对象,使用对象,维护对象的关系.</span></blockquote></blockquote>

<ul><li><strong><span style="font-size:18px;">类和对象的关系:</span></strong></li></ul><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">类就是对现实生活中事物的描述.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">对象就是这类事物实实在在存在的个体.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">现实生活中的对象:张三,李四.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">
</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">想要描述:提取共性内容,对具体的抽象.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">描述时:这些对象的共性有:姓名,年龄,性别,学习java功能.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">映射到java中,描述就是class定义的类.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">具体对象就是对应java在堆内存中用new建立实体.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">
</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor; font-size: 16px;"><strong><span style="font-size:18px;">描述事物其实就是在描述事物的属性和行为.</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor; font-size: 16px;"><strong><span style="font-size:18px;">属性对应是类中变量,行为对应的类中的函数(方法).</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor; font-size: 16px;"><strong><span style="font-size:18px;">其实定义类就是在描述事物,就是在定义属性和行为.属性和行为共同成为类中的</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor; font-size: 16px;"><strong><span style="font-size:18px;">成员(成员变量和成员方法).</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">
</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">生产汽车,在java中通过new操作符来完成。其实就是在堆内存产生一个实体。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">Car c = new Car();//c就是一个类类型变量,记住:类类型变量指向对象。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">参考:CarDemo.java</span></blockquote>

</blockquote><ul><li><strong><span style="font-size:18px;">成员变量和局部变量.</span></strong></li></ul><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">作用范围:</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">成员变量作用于<strong>整个类</strong>中.</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">局部变量作用于<strong>函数中,或者语句中</strong>.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">
</span></blockquote></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">在内存中的位置:</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">成员变量:<strong>在堆内存中</strong>,因为对象的存在,才在内存中存在.</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">局部变量:<strong>存在栈内存中</strong>.</span></blockquote></blockquote></blockquote>


<ul><li><strong><span style="font-size:18px;">匿名对象:</span></strong></li></ul><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">匿名对象是对象的简化形式.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">匿名对象两种使用情况:</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     当对对象方法<strong>仅进行一次调用时</strong>.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     匿名对象可以<strong>作为实际参数进行传递</strong>.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">
</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">调用变量没有意义,因为调用一次后,就变成垃圾了.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">
</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">匿名对象使用方式一:当对对象的方法只调用一次时,可以用匿名对象完成,这样写</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">比较简化,可是对一个对象进行成员调用,必须给这个对象起个名字.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">匿名对象使用方式二:可以将匿名对象作为实际参数进行传递.</span></blockquote>
</blockquote>

<ul><li><strong><span style="font-size:18px;">封装:Encapsulation</span></strong></li></ul><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor; font-size: 16px;"><span style="font-size:18px;">封装是<strong>指隐藏对象的属性和实现细节,仅对外提供公共访问方式.</strong></span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">好处:</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     将变化隔离.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     便于使用.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     提高重用性.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     提高安全性.</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">
</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">封装原则:</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">  <strong>   将不需要对外提供的内容都隐藏起来.</strong></span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">     把属性都隐藏,提供公共方法对其访问.</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">
</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;"><strong>  private:私有,</strong>权限修饰符:用于修饰类中的成员(成员变量,成员函数)。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;"> <span> </span><strong>私有只在本类中有效。</strong></span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;"> </span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">  将age私有化以后,类以外即便建立了对象也不能直接访问。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">  但是可以通过在Person类中国提供对应的方法访问age。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;"> </span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;"> <span> </span><strong>开发中通过用set和get方法访问私有的变量。</strong></span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;"> </span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">  之所以对外提供访问方式,就因为可以在访问方式中加入逻辑判断等待语句。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">  对访问的数据进行操作,提高代码的健壮性。</span></blockquote>


</blockquote><ul><li><strong><span style="font-size:18px;">构造函数:</span></strong></li></ul>
<blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">特点:</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">     1.函数名与类名相同</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">     2.不用定义返回值</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">     3.不可以写return语句</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong>
<span style="font-size:18px;"></span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">作用:</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">     给对象进行初始化</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">
</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">注意:</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">     1.默认构造函数的特点</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">     2.多个构造函数是以重载的形式存在的。</span></strong></blockquote>
<blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">对象一建立就会调用与之对应的构造函数。</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">构造函数就会给对象进行初始化。</span></strong></blockquote>
<blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">构造函数小细节:</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     当一个类中没有定义构造函数时,那么系统会默认给该类加入</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     一个空参数的构造函数,方便对象的初始化。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     若定义了带参数的构造方法,则最好定义一个不带参数的构造方法,</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     防止创建对象的时候,出现错误。</span></blockquote></blockquote>
<span style="font-size:18px;">                    当在类中自定义构造函数后,系统就不会创建默认的构造函数。

</span><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">构造函数和一般函数在写法上不同。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">在运行上也有不同,<strong>构造函数是在对象一建立就运行,给对象初始化</strong>。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;"><strong>一般方法是对象调用才执行</strong>,是给对象添加对象具备的功能。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">一个对象建立,构造函数只运行一次,一般方法可以被该对象调用多次。</span></blockquote></blockquote>
<span style="font-size:18px;">          什么时候定义构造函数呢?
                    当分析事物时,该事物存在具备一些<strong>特性或行为</strong>,那么将这些内容定义在构造函数中。

</span><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;"><strong>构造代码块</strong>-->开发中不常见,但面试会遇到。
构造代码块定义的是不同对象共性的初始化内容。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;">
<span style="font-size:18px;">构造代码块作用:
</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     给对象进行初始化。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     对象一建立就运行,而且<strong>优先于构造函数执行</strong>。</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;">
<span style="font-size:18px;">和构造函数区别:
</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     构造代码块是给所有对象进行统一初始化。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     而构造函数是给对应对象初始化。</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">参考PersonDemo2.java</span></blockquote>


<ul><li><strong><span style="font-size:18px;">this关键字:</span></strong></li></ul><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     this看上去是用于<strong>区分局部变量和成员变量同名</strong>的情况。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">    <span> </span><strong>this代表的是本类的对象。</strong></span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong>
<span style="font-size:18px;"></span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     换个话说,<strong>this代表它所在函数所属对象的引用。</strong></span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     简单说,哪个对象在调用this所在的函数,this就代表哪个对象。    </span></blockquote>
<blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">this的应用:当定义类中功能时,该函数内部要用到调用该函数的对象时,这时用this来表示这个对象。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;"> </span></blockquote><span style="font-size:18px;"> </span><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">  <span> </span><strong>但凡本类功能内部使用到了本类对象,都用this表示。</strong></span></blockquote></blockquote>
<blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">this语句:</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">用于构造函数的互相调用。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">this(相对应的参数);</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">this()语句只能放在构造函数的第一行。因为初始化要先执行。</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">初始化动作里有更细节的初始化,则先处理这个,再处理自己的初始化动作。</span></blockquote></blockquote>


<ul><li><strong><span style="font-size:18px;">static(静态)关键字:</span></strong></li></ul><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">用于修饰成员(成员变量和成员函数)</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong>
<span style="font-size:18px;"></span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">被修饰后的成员具备以下特点:</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">    <span> </span><strong>随着类的加载而加载</strong></span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">         也就是说静态会随着类的消失而消失,说明它的<strong>生命周期最长</strong>。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">
</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     优先于对象存在</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">         明确一点:静<strong>态是先存着的,对象是后存在的。</strong></span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong>
<span style="font-size:18px;"></span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     被所有对象所共享</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     可以直接被<strong>类名调用</strong></span></blockquote></blockquote>

<span style="font-size:18px;">                    内存的一种:方法区,数据区,共享区

</span><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">实例变量和类变量的区别:</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     1.存放位置:</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">    <span> </span><strong>类变量随着类的加载而存在于方法区中。</strong></span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">     实例变量随着对象的建立而存在于堆内存中。</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     2.生命周期:</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     类变量生命周期最长,随着类的消失而消失。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     实例变量生命周期随着对象的消失而消失。</span></blockquote></blockquote><span style="font-size:18px;">    

</span><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">使用注意:</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     1.<strong>静态方法只能访问静态成员</strong>//无法从静态上下文中引用非静态变量XXX</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">          非静态方法既可以访问静态也可以访问非静态</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     2.<strong>静态不可以写this,super关键字</strong></span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">          因为静态优先于对象存在,所以静态方法不可以出现this。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     3.主函数是静态的</span></blockquote></blockquote>
<blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">利处:</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     对对象的共享数据进行单独空间的存储,节省空间。没有必要每一个对象中都存储一份。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     可以直接被类名调用。</span></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">弊端:    </span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     声命周期过长。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">     访问出现局限性。</span></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><span style="font-size:18px;">
</span></blockquote></blockquote>

<ul><li><strong><span style="font-size:18px;">主函数:</span></strong></li></ul><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">是一个特殊的函数,作为程序的入口,可以被jvm调用。</span></div></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">  主函数的定义:</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">       public:代表着该函数访问权限最大。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">       static:代表主函数随着类的加载就已经存在。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">       void:主函数没有具体的返回值。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">       main:不是关键字,但是是一个特殊的单词,可以被jvm识别。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">       (String[] args):函数的参数,参数类型是一个数组,该数组中的元素是字符串。字符串类型的数组。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">    </span></div><div><span style="font-size:18px;">   主函数是固定格式的:jvm识别。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">     jvm在调用主函数时,传入的是new String[0];</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">  args--->arguments</span></div></blockquote></blockquote><div><span style="font-size:18px;">

</span></div><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">什么时候使用静态?</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">从两个方面下手:因为静态修饰的内容有成员变量和成员函数。</span></div></blockquote></blockquote><div><span style="font-size:18px;">
</span></div><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">什么时候<strong>定义静态变量(类变量)</strong>呢?</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;"><strong>当对象中出现了共享数据时,该数据被静态所修饰。</strong>对象中的特有数据要定义成</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">非静态存在于堆内存中。</span></div></blockquote></blockquote><div><span style="font-size:18px;">
</span></div><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">什么时候<strong>定义静态函数</strong>呢?</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><strong><span style="font-size:18px;">当功能内部没有访问到非静态数据(对象的特有数据),</span></strong></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><strong><span style="font-size:18px;">那么该功能可以定义成静态的。</span></strong></div></blockquote></blockquote><div><span style="font-size:18px;">


</span></div><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><strong><span style="font-size:18px;">静态的应用:</span></strong></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">每一个应用程序中都有共性的功能,可以将这些功能进行抽取,独立封装,以便复用。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">
</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">虽然可以通过建立ArrayTool的对象使用这些工具方法,对数组进行操作。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">但发现了问题:</span></div></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">     1.对象是用于封装数据的,可是ArrayTool对象并未封装特有数据。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">     2.操作数组的每一个方法都没有用到ArrayTool对象中的特有数据。。</span></div><div><span style="font-size:18px;">
</span></div></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">这时就考虑,让程序更加严谨,是不需要对象的,只提供方法供调用者调用。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">可以将ArrayTool中的方法都定义为static的,直接通过类名调用即可。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">
</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">将方法都静态后,可以方便于使用,但是该类还是可以被其他程序建立对象的。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">那么,可以将构造函数私有化完成。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;"><strong>参考</strong>ArrayTool.java</span></div></blockquote></blockquote><div><span style="font-size:18px;">

</span></div><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">set classpath =.;c:\myclass  设置临时环境变量  寻找当前目录,如果当前目录没有,</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">则寻找指定目录</span></div></blockquote></blockquote><div><span style="font-size:18px;">
</span></div><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">将ArrayTool.class文件发送给其他人,其他人只要将该文件设置到classpath路径下,</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">应用<strong>*帮助文档*</strong>可以让操作中更好的了解该类的功能。</span></div></blockquote></blockquote><div><span style="font-size:18px;"> 
</span></div><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">一个类中会有一个默认的空参数的构造函数。这个默认的构造函数的权限和所属类一致。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">如果类被public修饰,那么more的构造函数也带public修饰符。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">如果类没有被public修饰,那么默认的构造函数,也没有public修饰。</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">默认构造函数的权限是随着类的变化而变化的。</span></div></blockquote></blockquote><div>


<ul><li><strong><span style="font-size:18px;">静态代码块:</span></strong></li></ul></div><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">static</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">{</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">     静态代码块中的执行语句</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">}</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">特点:<strong>随着类的加载而执行,只执行一次,并优先于主函数。</strong></span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">    <span> </span><strong>静态代码块用于给类进行初始化的,构造代码块给对象初始化。</strong></span></div></blockquote></blockquote><div><span style="font-size:18px;">

</span></div><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><strong><span style="font-size:18px;">对象的初始化过程:</span></strong></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">Person p = new Person("zhangdan",21);</span></div></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">1.因为new用到了Person.class.所以会先找到Person.class文件并加载到内存中.</span></div></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">2.执行该类的static代码块,如果有的话,给Person.class类初始化。</span></div></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">3.在堆内存中开辟空间,分配内存地址。</span></div></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">4.在堆内存中建立对象的特有属性,并进行默认初始化。</span></div></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">5.对属性进行显示初始化。</span></div></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">6.对对象进行构造代码块初始化。</span></div></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">7.对对象进行对应的构造函数初始化。</span></div></blockquote></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div><span style="font-size:18px;">8.将内存地址赋给栈内存的p变量。</span></div></blockquote></blockquote></blockquote><div><span style="font-size:18px;">


</span></div><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;">对象调用成员过程:</span></div><div style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;">。</span></div><div style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">
<div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;"><strong>继承:</strong></span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;"><strong>
<span style="font-size:18px;"></span></strong></span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;"><strong>package</strong></span><span> </span><span style="font-family:Consolas;">o_oriented2;</span></span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">/*</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;"> 继承:</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">     1.提高代码的复用性</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">     2.让类与类之间产生了关系。有了这个关系,才有了多态的特性。</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;"> 注意:不要为了获取其他类的功能,而简化代码而继承。</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">     必须是类与类之间有所属关系才可以继承,所属关系is a 。</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;">
<span style="font-size:18px;"></span></span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">java语言中:<strong>java只支持单继承</strong>,不支持多继承。</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">     1.因为多继承容易带来安全隐患:当多个父类中定义了相同功能,而功能不同时,子类对象不确定要运行哪一个?</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;"><span style="font-size:18px;">     2.但是java保留了这种机制,并用另一种体现形式来完成表示---><strong>多实现</strong></span></span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">java支持多层继承,也就是一个基础体系。</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;">
<span style="font-size:18px;"></span></span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">     如何使用一个体系中的功能呢?</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">     1<strong>.先查阅体系父类的描述</strong>,因为父类定义的是该体系中共性功能,通过了解共性功能就可以了解该体系的基本功能。</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">     2.<strong>具体调用时,要创建子类对象</strong>。因为有可能父类不能创建对象(抽象),创建子类对象可以使用更多的功能,包括基本的和特有的。</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;"> */</span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;"><strong>public</strong></span><span> </span><span style="font-family:Consolas;"><strong>class</strong></span><span> </span><span style="font-family:Consolas;">ExtendsDemo</span><span> </span><span style="font-family:Consolas;">{</span></span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>public</strong></span><span> </span><span style="font-family:Consolas;"><strong>static</strong></span><span> </span><span style="font-family:Consolas;"><strong>void</strong></span><span> </span><span style="font-family:Consolas;"><strong>main</strong></span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">String</span><span style="font-family:Consolas;">[]</span><span> </span><span style="font-family:Consolas;">args</span><span style="font-family:Consolas;">) {</span></span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">Student</span><span> </span><span style="font-family:Consolas;"><strong>s</strong></span><span> </span><span style="font-family:Consolas;">=</span><span> </span><span style="font-family:Consolas;"><strong>new</strong></span><span> </span><span style="font-family:Consolas;">Student</span><span style="font-family:Consolas;">();</span></span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">s</span><span style="font-family:Consolas;">.</span><span> </span><span style="font-family:Consolas;">age</span><span> </span><span style="font-family:Consolas;">=</span><span> </span><span style="font-family:Consolas;">12</span><span style="font-family:Consolas;">;</span></span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">}</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;">
<span style="font-size:18px;"></span></span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;"><strong>class</strong></span><span> </span><span style="font-family:Consolas;">Person</span><span> </span><span style="font-family:Consolas;">{</span></span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;">String</span><span> </span><span style="font-family:Consolas;">name</span><span style="font-family:Consolas;">;</span></span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>int</strong></span><span> </span><span style="font-family:Consolas;">age</span><span style="font-family:Consolas;">;</span></span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">}</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;">
<span style="font-size:18px;"></span></span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">//学生类</span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;"><strong>class</strong></span><span> </span><span style="font-family:Consolas;">Student</span><span> </span><span style="font-family:Consolas;"><strong>extends</strong></span><span> </span><span style="font-family:Consolas;">Person</span><span> </span><span style="font-family:Consolas;">{</span></span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>void</strong></span><span> </span><span style="font-family:Consolas;"><strong>study</strong></span><span style="font-family:Consolas;">()</span></span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">System</span><span style="font-family:Consolas;">.</span><span> </span><span style="font-family:Consolas;"><strong><em>out</em></strong></span><span style="font-family:Consolas;">.</span><span style="font-family:Consolas;">println</span><span> </span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">"studying"</span><span> </span><span style="font-family:Consolas;">);</span></span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">}</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">//工人类</span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;"><strong>class</strong></span><span> </span><span style="font-family:Consolas;">Worker</span><span> </span><span style="font-family:Consolas;"><strong>extends</strong></span><span> </span><span style="font-family:Consolas;">Person</span><span> </span><span style="font-family:Consolas;">{</span></span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>void</strong></span><span> </span><span style="font-family:Consolas;"><strong>work</strong></span><span style="font-family:Consolas;">()</span></span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font-size: 16px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">System</span><span style="font-family:Consolas;">.</span><span> </span><span style="font-family:Consolas;"><strong><em>out</em></strong></span><span style="font-family:Consolas;">.</span><span style="font-family:Consolas;">println</span><span> </span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">"working"</span><span> </span><span style="font-family:Consolas;">);</span></span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">}</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">}</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;">
<span style="font-size:18px;"></span></span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;font-size:18px;">====================================================================================================</span></div><div align="left" style="font-size: 16px;"><span style="font-family:Consolas;">
<span style="font-size:18px;"></span></span></div><div align="left"><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;"><strong>package</strong></span><span> </span><span style="font-family:Consolas;">o_oriented2;</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">/*</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;"> <strong>子父类中的类成员特点:</strong></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;"> </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;"> 类中成员:</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">      1.变量</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">      2.函数</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">      3.构造函数</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;"> </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;"> <strong>1.子父类的变量:</strong></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;">     如果子类中出现非私有的同名成员变量时,<strong>子类要访问本类对象用this,要访问父类的同名变量用super。</strong></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     super的使用和this的使用几乎一致。this代表的是本类对象的引用,super代表的是父类对象的引用。</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;"> </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;"> <strong>2.子父类的函数:</strong></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     当子类出现和父类一模一样的函数时,当子类对象调用该函数,会运行子类函数的内容。,如同父类的函数被覆盖。</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;">     这种情况是函数的另一种特性:<strong>重写(覆盖)</strong></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     当子类继承父类,沿袭了父类的功能到子类中,虽然子类具备该功能,但是功能的内容和父类的不一致。</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;">     这时,没有必要定义新功能,而是使用覆盖。<strong>保留父类的功能定义,并重写功能内容。</strong></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     覆盖:</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">           A.子类覆盖父类,<strong>必须保证子类权限大于等于父类权限</strong>,才可以覆盖,否则编译失败。</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">           B.<strong>静态只能覆盖静态</strong>,因为静态先加载进内存,当要覆盖非静态时,找不到对象。</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;">     <strong>注意事项:</strong></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;"><strong>           重载:只看同名函数的参数列表。</strong></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;"><strong>           重写(覆盖):子父类的方法一模一样。</strong></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;"> </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;"> <strong>3.子父类的构造函数:</strong></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;">     <strong>在对子类对象进行初始化时,父类构造函数也会运行。</strong></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;">     那是因为<strong>子类的构造函数默认第一行有一条隐式的语句  super();</strong></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     <strong>super(): 会访问父类中的空参数的构造函数</strong>,而且子类中所有的构造函数默认第一行都是super();</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     为什么子类一定要访问父类的构造函数呢?</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">           因为父类中的数据,子类可以直接获取,所以子类对象在建立时,需要先查看父类是如何对这些数据进行初始化的。</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">           所以子类在对象初始化时,要先访问以下父类中的构造函数。</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;">           <strong>如果要访问父类中指定的构造函数,可以通过手动定义 super()</strong><span style="font-weight: bold;">语句的方式来指定。</span></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     注意:</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">           super语句一定定义在子类构造函数的第一行,this也是</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     结论:</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">           (也称子类的实例化过程)</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;">           <strong>子类的所有构造函数,默认都会访问本类父类中空参数的构造函数。</strong></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">           因为子类每一个构造函数内的第一行都有一句隐式super();</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">           </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;">           <strong>当父类中没有空参数的构造函数时,子类必须手动通过super语句形式来指定要访问父类的构造函数。</strong></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">           </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;"><span style="font-size:18px;">           <strong>当然,子类的构造函数第一行也可以指定this()语句来访问本类中的构造函数。</strong></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;"><strong>           子类中至少有个构造函数会访问父类中的构造函数。</strong></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;"> */</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;"><strong>public</strong></span><span> </span><span style="font-family:Consolas;"><strong>class</strong></span><span> </span><span style="font-family:Consolas;">ExtendsDemo2</span><span> </span><span style="font-family:Consolas;">{</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;">
<span style="font-size:18px;"></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>public</strong></span><span> </span><span style="font-family:Consolas;"><strong>static</strong></span><span> </span><span style="font-family:Consolas;"><strong>void</strong></span><span> </span><span style="font-family:Consolas;"><strong>main</strong></span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">String</span><span style="font-family:Consolas;">[]</span><span> </span><span style="font-family:Consolas;">args</span><span style="font-family:Consolas;">) {</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">Zi</span><span> </span><span style="font-family:Consolas;"><span style="background-color: rgb(156, 114, 3);"><strong>zi</strong></span></span><span> </span><span style="font-family:Consolas;">=</span><span> </span><span style="font-family:Consolas;"><strong>new</strong></span><span> </span><span style="font-family:Consolas;">Zi</span><span> </span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">3</span><span> </span><span style="font-family:Consolas;">);</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">//zi.showtime();</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">//System.out.println(zi.x);//10</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">}</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;"><strong>class</strong></span><span> </span><span style="font-family:Consolas;">Fu</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">{</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>int</strong></span><span> </span><span style="font-family:Consolas;">num</span><span> </span><span style="font-family:Consolas;">=</span><span> </span><span style="font-family:Consolas;">4</span><span style="font-family:Consolas;">;</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>int</strong></span><span> </span><span style="font-family:Consolas;">x</span><span> </span><span style="font-family:Consolas;">=</span><span> </span><span style="font-family:Consolas;">9</span><span style="font-family:Consolas;">;</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>Fu</strong></span><span style="font-family:Consolas;">()</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">x</span><span> </span><span style="font-family:Consolas;">=</span><span> </span><span style="font-family:Consolas;">10</span><span style="font-family:Consolas;">;</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">System</span><span style="font-family:Consolas;">.</span><span> </span><span style="font-family:Consolas;"><strong><em>out</em></strong></span><span style="font-family:Consolas;">.</span><span style="font-family:Consolas;">println</span><span> </span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">"fu run"</span><span> </span><span style="font-family:Consolas;">);</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>Fu</strong></span><span style="font-family:Consolas;">(</span><span> </span><span style="font-family:Consolas;"><strong>int</strong></span><span> </span><span style="font-family:Consolas;">x</span><span style="font-family:Consolas;">)</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">System</span><span style="font-family:Consolas;">.</span><span> </span><span style="font-family:Consolas;"><strong><em>out</em></strong></span><span style="font-family:Consolas;">.</span><span style="font-family:Consolas;">println</span><span> </span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">"fu run...."</span><span> </span><span style="font-family:Consolas;">+</span><span style="font-family:Consolas;">x</span><span> </span><span style="font-family:Consolas;">);</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>void</strong></span><span> </span><span style="font-family:Consolas;"><strong>speak</strong></span><span style="font-family:Consolas;">()</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">System</span><span style="font-family:Consolas;">.</span><span> </span><span style="font-family:Consolas;"><strong><em>out</em></strong></span><span style="font-family:Consolas;">.</span><span style="font-family:Consolas;">println</span><span> </span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">"VB"</span><span> </span><span style="font-family:Consolas;">);</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>void</strong></span><span> </span><span style="font-family:Consolas;"><strong>show</strong></span><span style="font-family:Consolas;">()</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">System</span><span style="font-family:Consolas;">.</span><span> </span><span style="font-family:Consolas;"><strong><em>out</em></strong></span><span style="font-family:Consolas;">.</span><span style="font-family:Consolas;">println</span><span> </span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">"fu show"</span><span> </span><span style="font-family:Consolas;">);</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">}</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;"><strong>class</strong></span><span> </span><span style="font-family:Consolas;">Zi</span><span> </span><span style="font-family:Consolas;"><strong>extends</strong></span><span> </span><span style="font-family:Consolas;">Fu</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">{</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>int</strong></span><span> </span><span style="font-family:Consolas;">num</span><span> </span><span style="font-family:Consolas;">=</span><span> </span><span style="font-family:Consolas;">3</span><span style="font-family:Consolas;">;</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>Zi</strong></span><span style="font-family:Consolas;">()</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">//super();</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">System</span><span style="font-family:Consolas;">.</span><span> </span><span style="font-family:Consolas;"><strong><em>out</em></strong></span><span style="font-family:Consolas;">.</span><span style="font-family:Consolas;">println</span><span> </span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">"zi run"</span><span> </span><span style="font-family:Consolas;">);</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>Zi</strong></span><span style="font-family:Consolas;">(</span><span> </span><span style="font-family:Consolas;"><strong>int</strong></span><span> </span><span style="font-family:Consolas;">x</span><span style="font-family:Consolas;">)</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;"><strong>this</strong></span><span style="font-family:Consolas;">();</span><span style="font-family:Consolas;">//有了this();则不会有super();那么依然会通过this();去访问父类中空参数的构造函数,</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">//super();</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">//super(3);</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">System</span><span style="font-family:Consolas;">.</span><span> </span><span style="font-family:Consolas;"><strong><em>out</em></strong></span><span style="font-family:Consolas;">.</span><span style="font-family:Consolas;">println</span><span> </span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">"zi run..."</span><span> </span><span style="font-family:Consolas;">+</span><span style="font-family:Consolas;">x</span><span> </span><span style="font-family:Consolas;">);</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>void</strong></span><span> </span><span style="font-family:Consolas;"><strong>showtime</strong></span><span style="font-family:Consolas;">()</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;"><strong><em>@SuppressWarnings</em></strong></span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">"unused"</span><span> </span><span style="font-family:Consolas;">)</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;"><strong>int</strong></span><span> </span><span style="font-family:Consolas;"><strong>num</strong></span><span> </span><span style="font-family:Consolas;">=</span><span> </span><span style="font-family:Consolas;">2</span><span style="font-family:Consolas;">;</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">System</span><span style="font-family:Consolas;">.</span><span> </span><span style="font-family:Consolas;"><strong><em>out</em></strong></span><span style="font-family:Consolas;">.</span><span style="font-family:Consolas;">println</span><span> </span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;"><strong>super</strong></span><span style="font-family:Consolas;">.</span><span style="font-family:Consolas;">num</span><span style="font-family:Consolas;">);</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>void</strong></span><span> </span><span style="font-family:Consolas;"><strong>speak</strong></span><span style="font-family:Consolas;">()</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">System</span><span style="font-family:Consolas;">.</span><span> </span><span style="font-family:Consolas;"><strong><em>out</em></strong></span><span style="font-family:Consolas;">.</span><span style="font-family:Consolas;">println</span><span> </span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">"java"</span><span> </span><span style="font-family:Consolas;">);</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     </span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">     </span><span style="font-family:Consolas;"><strong>void</strong></span><span> </span><span style="font-family:Consolas;"><strong>show</strong></span><span style="font-family:Consolas;">()</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><span style="font-family:Consolas;">           </span><span> </span><span style="font-family:Consolas;">System</span><span style="font-family:Consolas;">.</span><span> </span><span style="font-family:Consolas;"><strong><em>out</em></strong></span><span style="font-family:Consolas;">.</span><span style="font-family:Consolas;">println</span><span> </span><span style="font-family:Consolas;">(</span><span style="font-family:Consolas;">"zi show"</span><span> </span><span style="font-family:Consolas;">);</span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">}</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">/*</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">class Person</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">{</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     private String name</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     Person(String name)</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">           this.name = name;</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     void show();</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">}</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;">
<span style="font-size:18px;"></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">class Student extends Person</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">{</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     Student(String name)</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">           super(name);</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     void method()</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     {</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">           super.show();</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">     }</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">}</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">*/</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;">
<span style="font-size:18px;"></span></span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-family:Consolas;font-size:18px;">====================================================================================================</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><strong>final关键字:</strong>

final可以修饰类,方法,变量
</span><span style="font-size:18px;"><strong>final修饰的类不可以被继承。
final修饰的方法不可以被覆盖
final修饰的变量是一个常量,只能赋值一次。
内部类只能访问被final修饰的局部变量。</strong>


 <span> </span><strong>模板方法设计模式:</strong>
需求:获取一段程序运行的时间。
原理:获取程序开始和结束的时间并相减即可。
     获取时间方法:System.currentTimeMillis();
    
当代码完成优化后,就可以解决这类问题了。
     这种方式,称为模板方法设计模式
    
什么是模板方法?
     在定义功能时,功能的一部分是确定的,但是有一部分是不确定的,而确定的部分在使用不确定的部分,
     那么这时就将不确定的部分暴漏出去,由该类的子类去完成。      
    
     保证获取功能唯一,不被复写,用final



<strong>接口</strong>:
     接口:初期理解,可以认为是一个特殊的抽象类。
     当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表示。

class用于定义类,interface用于定义接口

接口定义时,格式特点:
     1.接口中的常见定义:常量,抽象方法。
     2.接口中的成员都有固定修饰符。
        </span><span style="font-size:18px;"><strong>  成员常量:public static final
          成员函数:public abstract</strong>
     记住:接口中的成员都是public的。

接口是不可以创建对象的,因为有抽象方法。
需要被子类实现,子类对接口中的抽象方法全部覆盖后,子类才可以实例化。否则子类是一个抽象类。

接口可以被类多实现,也是对多继承不支持的转换形式。java支持多实现。

接口的特点:
     接口是<strong>对外暴漏</strong>的规则。
     接口是程序的<strong>功能扩展</strong>。
     接口可以用来<strong>多实现</strong>。
     类与接口之间是实现关系,而且类可以继承一个类的同时实现多个接口。
     接口与接口之间存在<strong>多继承和多层继承</strong></span></div>
</div><div align="left"><div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;">面向对象第三个特征:

     面向对象第三个特征:
</span><ul><li><strong><span style="font-size:18px;">多态:</span></strong></li></ul></div><blockquote style="font: 16px/normal Tahoma; margin: 0px 0px 0px 40px; padding: 0px; border: currentColor; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><div align="left"><span style="font-size:18px;">     定义:某一种事物的多种存在形态。</span></div><div align="left"><span style="font-size:18px;">          猫  m = new 猫();</span></div><div align="left"><span style="font-size:18px;">          动物 m = new 猫();</span></div></blockquote><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;">
</span></div><blockquote style="font: 16px/normal Tahoma; margin: 0px 0px 0px 40px; padding: 0px; border: currentColor; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">1.多态的体现:</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">    <span> </span></span><strong><span style="font-size:18px;">父类的引用指向了自己的子类对象。
     父类的引用也可接受自己的子类对象。</span></strong></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><strong><span style="font-size:18px;">     </span></strong></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">
</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">2.多态的前提</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">    <span> </span><strong>必须是类与类之间有关系,要么继承要么实现。</strong></span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">     通常还有一个前提:<strong>存在覆盖</strong>。(下面例子eat方法)</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">    </span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">3.多态的好处</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">     多态的出现大大的提高了程序的<strong>扩展性</strong></span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">
</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">4.多态的弊端</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">     提高了扩展性,但是<strong>只能使用父类的引用访问父类中的成员。</strong></span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">
</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">5.多态的应用</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">    </span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">6.注意:</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">     千万不要将父类对象转成子类类型。Animal a = new Animal(); Cat c = (Cat)a;//Error!</span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">    <span> </span><strong>我们能转换的是父类引用指向自己的对象时,该引用可以被提升,也可以被强制转换。  </strong></span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><strong><span style="font-size:18px;">     </span></strong></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><strong><span style="font-size:18px;">     多态自始至终都是子类对象在做着变化。</span></strong></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">    </span></div></blockquote><blockquote style="margin: 0px 0px 0px 40px; padding: 0px; border: currentColor;"><div align="left"><span style="font-size:18px;">     instanceof的使用:1子类有限,2判断所属类型</span></div></blockquote></blockquote><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">
<span style="font-size:18px;">                          (开发中常见,因为有覆盖操作)</span></div><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;">
</span></div><blockquote style="font: 16px/normal Tahoma; margin: 0px 0px 0px 40px; padding: 0px; border: currentColor; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><div align="left"><span style="font-size:18px;"> <span> </span><strong>在多态中成员函数的特点:</strong></span></div><div align="left"><span style="font-size:18px;">           <span> </span></span><strong><span style="font-size:18px;">在编译时,参阅引用型变量所属的类中是否有调用的方法。如果有,编译通过,没有则编译失败。
            在运行时期,参阅对象所属的类中是否有调用的方法。
            简单总结就是:成员函数在多态调用时,编译看左边,运行看右边。</span></strong></div><div align="left"><strong><span style="font-size:18px;">          </span></strong></div></blockquote><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"> 
</span></div><blockquote style="font: 16px/normal Tahoma; margin: 0px 0px 0px 40px; padding: 0px; border: currentColor; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><div align="left"><span style="font-size:18px;">  (开发中不常见)</span></div><div align="left"><span style="font-size:18px;">  在多态中成员变量的特点:</span></div><div align="left"><span style="font-size:18px;">            无论编译和运行,<strong>都参考</strong>引用型变量所属的类(<strong>左边</strong>)</span></div><div align="left"><span style="font-size:18px;">           </span></div><div align="left"><span style="font-size:18px;">在多态中,静态成员函数的特点:</span></div><div align="left"><span style="font-size:18px;">          无论编译和运行,<strong>都参考</strong>引用型变量所属的类(<strong>左边</strong>)</span></div></blockquote><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;">

<span style="font-size:18px;">          Object类的方法:toString();   equals();   hashCode();

</span></div><blockquote style="font: 16px/normal Tahoma; margin: 0px 0px 0px 40px; padding: 0px; border: currentColor; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><div align="left"><span style="font-size:18px;"> <span> </span><strong>内部类:</strong></span></div><div align="left"><span style="font-size:18px;">            将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类)。</span></div><div align="left"><span style="font-size:18px;">  访问特点:</span></div><div align="left"><span style="font-size:18px;">            1.<strong>内部类可以直接访问外部类中的成员,包括私有成员。</strong></span></div><div align="left"><span style="font-size:18px;">                 之所以可以直接访问外部类中的成员,是因为内部类持有了一个<strong>外部类的引用,格式: 外部类名.this.变量名</strong></span></div><div align="left"><span style="font-size:18px;">           </span></div><div align="left"><span style="font-size:18px;">            2.而</span><strong><span style="font-size:18px;">外部类要访问内部类中的成员必须建立内部类的对象。
</span></strong></div><div align="left"><span style="font-size:18px;">
</span></div><div align="left"><span style="font-size:18px;">访问格式:</span></div><div align="left"><span style="font-size:18px;">             1.当内部类定义在外部类的成员位置上,而且非私有,可以在外部其他类中,直接建立内部类对象。</span></div><div align="left"><span style="font-size:18px;">
</span></div><div align="left"><span style="font-size:18px;">          格式:<strong>外部类名.内部类名    变量名  = 外部类对象.内部类对象;</strong></span></div><div align="left"><span style="font-size:18px;">               Outer.Inner in = new Outer().new Inner();</span></div><div align="left"><span style="font-size:18px;">         </span></div><div align="left"><span style="font-size:18px;">          2.<strong>当内部类在成员位置上,就可以被成员修饰符所修饰。</strong></span></div><div align="left"><strong>
<span style="font-size:18px;"></span></strong></div><div align="left"><span style="font-size:18px;">               比如:private:将内部类在外部类中进行封装。</span></div><div align="left"><span style="font-size:18px;">                    static:内部类就具备static特点。</span></div><div align="left"><span style="font-size:18px;">              </span></div><div align="left"><span style="font-size:18px;">                      当内部类被static修饰后,只能直接访问外部类中的static成员。出现了访问局限。</span></div><div align="left"><span style="font-size:18px;">         </span></div><div align="left"><span style="font-size:18px;">                 在外部其他类中,如何访问static内部类的非静态成员呢?</span></div><div align="left"><span style="font-size:18px;">                 new Outer.Inner().function();</span></div><div align="left"><span style="font-size:18px;">                </span></div><div align="left"><span style="font-size:18px;">                 在外部其他类中,如何直接访问static内部类的静态成员呢?</span></div><div align="left"><span style="font-size:18px;">                 Outer.Inner.function();</span></div><div align="left"><span style="font-size:18px;">                </span></div><div align="left"><span style="font-size:18px;">                <span> </span></span><strong><span style="font-size:18px;">注意:当内部类中定义了静态成员,该内部类必须是static的,
                      当外部类中的静态方法访问内部类时,内部类也必须是static的。</span></strong></div><div align="left"><strong><span style="font-size:18px;">                      </span></strong></div><div align="left"><span style="font-size:18px;">                     </span></div><div align="left"><span style="font-size:18px;">         当描述事物时,事物的内部还有事物,该事物就用内部类来描述。</span></div><div align="left"><span style="font-size:18px;">         因为内部事物在使用外部事物的内容。</span></div></blockquote><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;">

</span></div><blockquote style="font: 16px/normal Tahoma; margin: 0px 0px 0px 40px; padding: 0px; border: currentColor; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><div align="left"><span style="font-size:18px;">内部类定义在局部时:</span></div><div align="left"><span style="font-size:18px;">     1<strong>. 内部类定义在局部时,不可以被成员修饰符修饰。</strong></span></div><div align="left"><span style="font-size:18px;">     2.<span> </span><strong>可以直接访问外部类中的成员,因为还持有外部类的引用。</strong></span></div><div align="left"><span style="font-size:18px;">               但是不可以访问它所在的局部中的变量,<strong>只能访问被final修饰的局部变量。</strong></span></div><div align="left"><span style="font-size:18px;">    </span></div></blockquote><div align="left" style="font: 16px/normal Tahoma; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;">
</span></div><blockquote style="font: 16px/normal Tahoma; margin: 0px 0px 0px 40px; padding: 0px; border: currentColor; color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><div align="left"><span style="font-size:18px;"><strong>匿名内部类</strong>:</span></div><div align="left"><span style="font-size:18px;">     1.匿名内部类其实就是内部类的简写格式。</span></div><div align="left"><span style="font-size:18px;">
</span></div><div align="left"><span style="font-size:18px;">   <strong>  2.定义匿名内部类的前提:内部类必须继承一个类或者实现接口。</strong></span></div><div align="left"><strong>
<span style="font-size:18px;"></span></strong></div><div align="left"><span style="font-size:18px;">     3.匿名内部类的格式: new 父类或接口(){定义子类的内容}</span></div><div align="left"><span style="font-size:18px;">
</span></div><div align="left"><span style="font-size:18px;">     4.<strong>其实匿名内部类就是一个匿名子类对象</strong>,而且这个对象有点胖。可以理解为带内容的对象。</span></div><div align="left"><span style="font-size:18px;">
</span></div><div align="left"><span style="font-size:18px;">     5.匿名内部类中定义的方法最好不要超过3个。</span></div></blockquote><div align="left" style="color: rgb(0, 0, 0); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;"><span style="font-size:18px;"><br style="font-size: 16px;" /></span> </div></div></div></div></div></blockquote></div>
<span style="font-size:18px;"></span> 
<span style="font-size:18px;"></span> 
------ Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------


 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
黑马程序员的tb_brand是指在JavaWeb基础教程中创建的一个表。这个表是用来存储品牌信息的,具体的表结构和数据类型需要和JavaBean类中的成员变量保持一致。\[1\]在这个教程中,使用了Maven来构建项目,并且使用了MyBatis作为持久层框架,通过配置pom.xml文件来引入相关依赖。\[2\] Maven是一个用于管理和构建Java项目的工具,它提供了一套标准化的项目结构、构建流程和依赖管理机制。\[3\] #### 引用[.reference_title] - *1* [【JAVAWEB开发】黑马程序员java web案例资料(含Element的删除与修改)](https://blog.csdn.net/aasd23/article/details/126940147)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [黑马程序员-MyBatis 框架-最全入门笔记、阿伟看了都得说真大、真细、真全!!!](https://blog.csdn.net/qq_57383364/article/details/128103058)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [JavaWeb——黑马程序员课程笔记](https://blog.csdn.net/King_ZACC/article/details/128573804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值