美文网首页
Java 基础知识-内部类

Java 基础知识-内部类

作者: 叶明_b6b8 | 来源:发表于2018-03-25 22:11 被阅读0次

内部类作用:

1.实现数据的隐藏,实现了封装,类可以定义为private或者protected, 外部不能访问。

2.如果两个类之间的耦合性特别强,可以使用内部类,增强类之间的使用关系

3.内部类可以使用外部类的成员变量和成员方法等所有元素,包括私有的

4.内部类创建方法 ObjectA A = new ObjectA(); ObjectB B = A.new ObjectB();

5. 内部类实现了代码的简洁性

6.可以实现多重继承,弥补了JAVA语言多继承缺点,这个特点非常重要,个人认为它是内部类存在的最大理由之一。正是由于他的存在使得Java的继承机制更加完善。大家都知道Java只能继承一个类,它的多重继承在我们没有学习内部类之前是用接口来实现的。但使用接口有时候有很多不方便的地方。比如我们实现一个接口就必须实现它里面的所有方法。而有了内部类就不一样了。它可以使我们的类继承多个具体类或抽象类。大家看下面的例子。

7 避免修改接口而实现同一个类中两种同名方法的调用。

8.内部类是延时加载的,只有内部类被调用时候才会加载;

静态内部类与内部类区别

1. 静态内部类不持有外部类的引用,不能访问外部类的元素

2.创建方法不同 ObjectB B = new ObjectA.ObjectB();

3.另外因为静态嵌套类是依附于外部类而非外部类对象的,所以不同的外部类对象共享一个静态嵌套类,这一点与内部类不同,可以用来包装方法,实现工厂模式。

4.生成一个静态内部类不需要外部类成员:这是静态内部类和成员内部类的区别。静态内部类的对象可以直接生成:Outer.Inner in = new Outer.Inner();而不需要通过生成外部类对象来生成。这样实际上使静态内部类成为了一个顶级类(正常情况下,你不能在接口内部放置任何代码,但嵌套类可以作为接口的一部分,因为它是static 的。只是将嵌套类置于接口的命名空间内,这并不违反接口的规则)

public interface Outer {public static final class inner{        void dosth() {System.out.println("I'm a inner class in interface");}}}

5.静态内部类,也是延时加载的只有静态方法被调用时候才会加载此类;

相关文章

  • Java 中的方法内部类

    Java 中的方法内部类 方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内...

  • PHP转JAVA的记录

    Java 数组 内部类 内部类的创建:内部类可以对包内其他类隐藏想实现一个接口时, 不想新建类文件 内部类可以访问...

  • Java基础知识干货2

    Java基础知识干货1传送门->http://www.jianshu.com/p/78fdfacf1868 内部类...

  • Java内部类

    Java内部类,简单来说就是将一个类定义在另一个类或者方法里面,主要分为成员内部类,局部内部类,匿名内部类和静态内...

  • Java内部类

    Java内部类 大纲: java内部类有什么特点?为什么需要内部类? 非静态内部类持有外部类的引用 内部类的分类。...

  • 内部类

    内部类可以分为:非静态内部类;静态内部类;匿名内部类。 一、内部类 首先要说,Java为什么要使用内部类?java...

  • Java静态内部类

    Java静态内部类 博客分类: java 两种内部类 Java的内部类有两种,一种是静态内部类,另一种是普通内部类...

  • Kotlin内联类、内部类、嵌套类

    Kotlin内联类、内部类、嵌套类 在开始介绍Kotlin内联类、内部类、嵌套类之前,先简要回顾一下java中的内...

  • JavaSE基础知识学习-----内部类

    内部类 类的五个成分:属性,方法,构造器,代码块,内部类。什么是内部类?在java中,允许一个类定义在另一个类的内...

  • Java 基础知识-内部类

    内部类作用: 1.实现数据的隐藏,实现了封装,类可以定义为private或者protected, 外部不能访问。 ...

网友评论

      本文标题:Java 基础知识-内部类

      本文链接:https://www.haomeiwen.com/subject/ttiqcftx.html