Java 内部类最重要的作用-实现多重继承
<p style="color:rgb(51,51,51);font-size:14px;font-family:Helvetica,Tahoma,Arial,sans-serif;line-height:25.200000762939453px;"> <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> 二、?作用 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> 1.内部类可以很好的实现隐藏 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> ?一般的非内部类,是不允许有?private?与protected权限的,但内部类可以 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> 2.内部类拥有外围类的所有元素的访问权限 <p style="font-size:14px;font-family:Helvetica,sans-serif;line-height:25.200000762939453px;"> <span style="color:#ff0000;">3.可实现多重继承 <p style="font-size:14px;font-family:Helvetica,sans-serif;line-height:25.200000762939453px;"> <span style="color:#ff0000;">4.可避免修改接口而实现同一个类中两种同名方法的调用。 <p style="font-size:14px;font-family:Helvetica,sans-serif;line-height:25.200000762939453px;"> <span style="color:#ff0000;"> <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> 三、???例子 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> 1.实现隐藏 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> ???平时我们对类的访问权限,都是通过类前面的访问修饰符来限制的,一般的非内部类,是不允许有private?与protected权限的,但内部类可以,所以我们能通过内部类来隐藏我们的信息。可以看下面的例子 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> 接口 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;">
<p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;">
<p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;">
<p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> getIn()方法能返回一个InterfaceTest?实例但我并不知道这个实例是这么实现的。而且由于InsideClass是private的,所以我们如果不看代码的话根本看不到这个具体类的名字,所以说它可以很好的实现隐藏。 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> 2.可以无条件地访问外围类的所有元素 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;">
<p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> <p style="font-size:14px;font-family:Helvetica,sans-serif;line-height:25.200000762939453px;"> <span style="color:rgb(255,102,102);">?3.可以实现多重继承 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> ????个特点非常重要,个人认为它是内部类存在的最大理由之一。正是由于他的存在使得<a href="http://lib.csdn.net/base/javase" rel="nofollow" class="replace_word" title="Java SE知识库" style="color:rgb(223,52,52);text-decoration:none;font-weight:bold;">Java的继承机制更加完善。大家都知道Java只能继承一个类,它的多重继承在我们没有学习内部类之前是用接口来实现的。但使用接口有时候有很多不方便的地方。比如我们实现一个接口就必须实现它里面的所有方法。而有了内部类就不一样了。它可以使我们的类继承多个具体类或抽象类。大家看下面的例子。 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> 类一 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;">
<p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;">
<p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;">
<p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> <p style="font-size:14px;font-family:Helvetica,sans-serif;line-height:25.200000762939453px;"> <span style="color:#ff0000;">4、?避免修改接口而实现同一个类中两种同名方法的调用。 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> ?大家假想一下如果,你的类要继承一个类,还要实现一个接口,可是你发觉你继承的类和接口里面有两个同名的方法怎么办?你怎么区分它们??这就需要我们的内部类了。看下面的代码 <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;">
<p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;">
<p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> <p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;">
<p style="color:rgb(51,sans-serif;line-height:25.200000762939453px;"> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |