内部类到底有什么用?用方法实现不了吗?

问题描述

内部类有什么用?为什么要有它?它有什么比方法好的地方呢?

解决方案

内部类与方法一点关系都没有的啊,内部类在一定场景下还是有优点的:可以使某些编码根简洁;隐藏你不想让别人知道的操作;类内部简单复用等。类主要关注的是它的数据吧,方法只是操作数据的手段而已。
解决方案二:
内部类可以实现Java多继承的效果 Java是不支持多继承的,但是通过内部类可以实现
解决方案三:
类是属性和方法组成的,重要的是类能保存对象的状态,有记忆功能,内部类也有一般类的优点;而方法不能,至少在Java中还没有其他语言中的函数闭包(Java 7可能引入)的功能;内部类引入了一个大的作用域,可以不与顶层类发生命名冲突,可以封装一些类特有的操作,相对于方法,结构更清晰分明

时间: 2024-08-24 19:00:27

内部类到底有什么用?用方法实现不了吗?的相关文章

python中的嵌套类(内部类调用外部类中的方法函数)

在为书中版本是3.X的,但2.X不太支持直接调用. 所以,在PYTHON2.X中,要在内部类中调用外部类的方法,就必须得实例化外部类,然后,传入实例进行调用. 花了我两个小时啊,资料没找到,自己一个一个想法调试,真的失败了三四十次,PRINT了N多~~~:) ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 4

java中dom4j里面的方法setDocument到底如何用,或者如何替换xml中一整个大节点

问题描述 dom4j的api文档中对于setDocument方法描述如下:setDocument(Documentdocument)setDocumentsetsthedocumentofthisnodeiftheparentrelationshipissupportedordoesnothingiftheparentrelationshipisnotsupported.我试了很多次,从来用这个方法就没有生效过,我想请问下,到底什么条件下这个方法才可以生效,描述中iftheparentrelat

【解惑】领略内部类的“内部”

  内部类有两种情况: (1) 在类中定义一个类(私有内部类,静态内部类) (2) 在方法中定义一个类(局部内部类,匿名内部类)   1.私有内部类 -- 在方法之间定义的内部类,非静态       我们首先看看类中内部类的两个特点:      (1) 在外部类的作用范围内可以任意创建内部类对象,即使内部类是私有的(私有内部类).即内部类对包围它的外部类可见. Java代码   //代码1:内部类对外部类可见   class Outer{        //创建私有内部类对象        pu

使用技巧:内部类和匿名类优化Java代码

技巧|优化 Java 1.1通过对Java语言规范进行修改,显著简化了一些实用结构的实现.在那些修改中,最引人注目的就是内部类和匿名类.如运用得当,它们可使程序更易理解和维护.下面来看看这些特性具体是如何工作的,如何正确使用它们,以及如何避免一些常见的错误. 内部类 简单地说,"内部类"是在另一个类的内部声明的类.从Java 1.1开始,你可在一个类中声明另一个类,这与声明字段和方法非常相似.包装了内部类声明的类就称为"外部类". 实际上,Java语言规范还允许你做

浅析Java中的嵌套类和内部类

以前看<Java编程思想>的时候,看到过嵌套类跟内部类的区别,不过后来就把它们的概念给忘了吧.昨天在看<数据结构与算法分析(Java语言版)>的时候,又遇到了这个概念,当时就很大的疑惑:嵌套类跟内部类有什么区别?只有是否有关键字static的区别吗? 所以今天找了个时间查了一下两者的详细区别,总结在这篇博客中,既方便自己的复习和学习,也启示他人吧. 1,概念: 定义在一个类内部的类,叫作"嵌套类".嵌套类分为两种:static的和非static的.后者又有一个专

java中的内部类

在Java 1.1中,可将一个类定义置入另一个类定义中.这就叫作"内部类".内部类对我们非常有用,因为利用它可对那些逻辑上相互联系的类进行分组,并可控制一个类在另一个类里的"可见性".然而,我们必须认识到内部类与以前讲述的"合成"方法存在着根本的区别. 通常,对内部类的需要并不是特别明显的,至少不会立即感觉到自己需要使用内部类.在本章的末尾,介绍完内部类的所有语法之后,大家会发现一个特别的例子.通过它应该可以清晰地认识到内部类的好处. 创建内部类

C#内部类

在<Java编程思想>中花了一章的篇幅介绍,内部类的相关特性.而在C#的书籍中很少有提交内部类的介绍.这篇文章,就简要介绍一下,C#中的内部类. 我们新建一个测试类文件,定义一个类:OuterClass.在其内部定义一个类:InnerClass1(暂且将其访问级别设置为public). 来做几个简单测试,截图如下: 以上在InnerClass1中试图访问outerClass的实例变量失败! 内部类访问外部类的实例方法同样失败! 外部类也无法索引到内部类的实例变量(同样外部类也无法调用内部类的任

java继承-关于Java继承的问题,方法的调用

问题描述 关于Java继承的问题,方法的调用 在下面这个程序中, class Person{ private void print(){ System.out.println("Person>void print"); } public void fun(){ this.print(); } }; class Student extends Person{ void print(){ System.out.println(" Student >void print

java-内部类和匿名内部类的区别,内部类和类成员的区别,忘详解!?大侠指教!

问题描述 内部类和匿名内部类的区别,内部类和类成员的区别,忘详解!?大侠指教! 在主程序的调用中内部类和匿名内部类区别和使用方法!内部类和类成员的区别! 解决方案 静态嵌套类和内部类的区别静态嵌套类和内部类的区别各种内部类的区别 解决方案二: http://www.cnblogs.com/mengdd/archive/2013/02/08/2909307.html 解决方案三: http://zhidao.baidu.com/link?url=p1LWkqBDH3R4ULFWPhxDiJ0R-s