JAVA- 内部类及匿名内部类】的更多相关文章

内部类即是包含在类里面的又一个类. java内部类分为: 成员内部类.静态嵌套类.方法内部类.匿名内部类 . 内部类的共性 (1).内部类仍然是一个独立的类,在编译之后内部类会被编译成独立的.class文件,但是前面冠以外部类的类名和$符号 . (2).内部类不能用普通的方式访问.内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的 . (3).内部类声明成静态的,就不能随便的访问外部类的成员变量了,此时内部类只能访问外部类的静态成员变量 . 成员内部类…
一:内部类 1:什么是内部类? 大部分时候,类被定义成一个独立的程序单元.在某些情况下,也会把一个类放在另一个类的内部定义,这个定义在其他类内部的类就被称为内部类(有些地方也叫做嵌套类),包含内部类的类也被称为外部类(有些地方也叫做宿主类) 我们先创建一个基本的内部类结构: class Outer{//外部类 //内部类 class Inner{ } } 2:内部类的划分 内部类分为成员内部类和局部内部类.内部类也会生成.class文件. 2.1: 成员内部类 定义在外部类中的成员位置,与类中的…
  我们都知道Java中可以使用内部类,将一个类的定义放在另一个类的定义的内部,这就是内部类,但是匿名内部类往往使我们摸不着头脑,因为它并没有特定的名称,那么该如何使用它呢? 定义一个匿名内部类 public interface Contents { int value(); } public class Test1 { private Contents contents() { return new Contents() { private int i = 11; @Override publ…
我们都知道java的类能够由public.default(缺省.不写)来修饰,分别表示的含义是同意公开訪问以及仅仅同意包内其他类訪问,而同一包内的类一般是为完毕同一个功能而协作.      除此之外,我们还会遇到一些类,它们仅仅是其他某个类的实现或组成的一部分,它们不应该被独立的创建出来.当它们创建的时候须要跟"宿体"连在一块,这就是内部类.就好像人类的心脏.你没法单独的new一个出来,它仅仅能依赖于人体而存活(这本来就是它存在的目的),至少现代医学做不到离体存活.现代医学能做的仅仅是…
1.内部类: /* 局部内部类: 在一个类 的方法内部定义另外一个类,那么另外一个类就称作为局部内部类. 局部内部类要注意的细节: 1. 如果局部 内部类访问了一个局部变量,那么该局部变量必须使用final修饰. */ class Outer{ String name= "外部类的name"; public void test(){ //局部变量 final int y =100; // y 什么时候从内存中消失? 方法执行完毕之后y消失. //局部内部类 class Inner{ /…
匿名内部类: 1.没有类名的类就叫匿名内部类 2.好处:简化书写. 3.使用前提:必须有继承或实现关系......不要想着你自己没有钱你没可是你爸有 4.一般用于于实参.(重点) class Outer{ class Inner{ public void show(){ System.out.println(“内部累的show方法”); } } public void print(){ new Inner().show(); } }…
Java中的内部类(成员内部类.静态内部类.局部内部类.匿名内部类) 神话丿小王子的博客主页 我们先看这样一段话:人是由大脑.肢体.器官等身体结果组成.而组成我们人体的心脏它也有自己的属性和行为(血液.跳动),显然,此处不能单方面用属性或者方法表示一个心脏了,而需要一个类,但是这个类要依赖于人这个类存在(因为心脏不能脱离人体而存活,当然不考虑现今社会的发达科技,只从正常情况下来说),所心脏以需要写在人类的内部.内部类就相当于其中的某个器官之一. 首先看看什么是内部类:在类的内部定义另一个类.没错…
提起java内裤类(innerClass)很多人不太熟悉,实际上类似的概念在c++里面也有,那就是嵌套类(Nested Class),关于这俩者的区别,在下文中会有对比.内部类从表面上看,就是在类中定义了一个类(下文可以看到,内部类可以在很多地方定义),而实际上并没有那么简单,乍看上去内部类似乎有些多余,他的用处可能对于初学者来说并不是那么显著,但是随着对他的深入了解,你会发现java的设计者在内裤类上面的确是用心良苦.学会使用内部类,是掌握java高级编程的一部分,他可以让你更优雅的设计你的程…
/** * 测试java内部类(成员内部类,静态内部类,匿名内部类) * 局部内部类不常用,就不写了. * @package :java05 * @author shaobn * @Describe : * @Time: 2015-9-6 下午8:32:38 */ public class TestInner { /** * @author shaobn * @Describe : * @param args * @Time : 2015-9-6 下午8:32:09 */ public stat…
java提高篇(八)----详解内部类 概念 可以将一个类的定义放在另一个类的定义内部,这就是内部类. 为什么要使用内部类?在<Think in java>中有这样一句话:使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响. 在我们程序设计中有时候会存在一些使用接口很难解决的问题,这个时候我们可以利用内部类提供的.可以继承多个具体的或者抽象的类的能力来解决这些程序设计问题.可以这样说,接口只是解决了部分问…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第一百一十章:局部内部类与匿名内部类区别详解 下一章 "全栈2019"Java第一百一十一章:内部类可以被覆盖吗? 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"J…
Java内部类 定义在外部类中的类就是内部类:内部类的定义是为了更清楚.详细地描述事物. 有名内部类和匿名内部类 Java语言根据内部类是否有类名将内部类分为有名内部类和匿名内部类(没有类名). 有名内部类及创建对象 public class OutClass{ public void play(){ System.out.println("正在玩耍......"); } public class Inner{ public void play(){ System.out.printl…
内部类分为普通内部类(有名)和匿名内部类.普通内部类分为成员内部类.局部内部类.静态内部类(嵌套内部类).顾名思义,内部类就是定义在一个类内部的类.什么时候都会使用内部类呢?当我们定义一个类,发现内部还有类时,比如我们定义人体body时,内部还有心.肝.皮.肺.肾,他们既属于body,又是一个独立的器官,这是为了更加方便的描述人体就会选择内部类来实现. 普通内部类 1.定义 讲一个类定义在另一个类的里面,对里面那个类就叫做内部类,或者嵌套类. 2.成员内部类 2.1形式: class Outer…
内部类 可以在一个类的内部定义另一个类这种类成为内部类或嵌套类,比如: class Outer{ … class Inner{ …. } } class Outer1{} // 这个Inner1不是Outer1的内部类,不在Outer1的类体括号内 class Innter1{ …… } Class Outer2{ //Inner2虽然是在Outer2的方法内,但还是在Outer2的类体括号内,是内部类 …… public void test(){ class Inner2{ …. } } }…
最近在看单例模式的实现,看到有一种利用JAVA静态内部类的特性来实现,对于内部类我还真是不了解,遂了解了一下,代码贴上. /** * 内部类分为:成员内部类.局部内部类.匿名内部类和静态内部类. */ public class Demo { /* * 1.成员内部类:成员内部类是最普通的内部类, * 它的定义为位于另一个类的内部. */ class Inside1 { public void say() { System.out.println("Inside1 say..."); }…
Java内部类详解 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉.原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法.今天我们就来一探究竟.下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 若有不正之处,请多谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/dolphin0520/p/3811…
黑马程序员:Java培训.Android培训.iOS培训..Net培训 黑马程序员--JAVA内部类 一.内部类分为显式内部类和匿名内部类. 二.显式内部类 1.即显式声明的内部类,它有类名. 2.显式内部类分为:普通显式内部类.嵌套类.局部显式内部类. 3.普通显式内部类 1)在外围类体中声明的内部类,是其外围类的一部分. 2)(public)class Outer{ …….. class Inner{ ………} …….. } 3) 普通显式内部类不能有static数据和static方法. 4…
创作时间:2016.07.28,2016.07.29 本人qq:992591601,欢迎交流. 参考书籍:<Thinking in Java>.<Effective Java> 备注:这篇文章并不打算介绍内部类相关的一切技术细节,在<Thinking in Java>里已经介绍的很详细了,我只想重点谈谈一些我所了解的内部类的应用.顺便提纲挈领的对<Thinking in Java>相应章节作一定总结. 一些提炼: 一.真正的内部类 1.内部类拥有其外部类的所…
注: 转载于http://blog.csdn.net/jiangxinyu/article/details/8177326 Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类.内部类又分为:常规内部类.局部内部类.匿名内部类和静态嵌套类四种.我们内部类的知识在Android手机开发中经常用到. 一.常规内部类 所谓常规内部类,或者说内部类,指的就是除去后面三种之外的内部类(这算什么解释...) 先写一个最简单的内部类的例子,大家感觉一下: public class Outer {…
作者:海子 出处:http://www.cnblogs.com/dolphin0520/ 本博客中未标明转载的文章归作者海子和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. Java内部类详解 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉.原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法.今天我们就来一探究竟.下面是本文的目录大纲: 一.内部类基础 二.…
import javax.swing.*; import java.awt.*; import java.awt.event.*; public class ControlCircle2 extends JFrame { private JButton jbtEnlarge=new JButton("Enlarge"); private JButton jbtShrink=new JButton("Shrink"); private CirclePanel canv…
提起Java内部类(Inner Class)可能很多人不太熟悉,实际上类似的概念在C++里也有,那就是嵌套类(Nested Class),关于这两者的区别与联系,在下文中会有对比.内部类从表面上看,就是在类中又定义了一个类(下文会看到,内部类可以在很多地方定义),而实际上并没有那么简单,乍看上去内部类似乎有些多余,它的用处对于初学者来说可能并不是那么显著,但是随着对它的深入了解,你会发现Java的设计者在内部类身上的确是用心良苦.学会使用内部类,是掌握Java高级编程的一部分,它可以让你更优雅地…
  内部类:不可以有静态数据,静态方法或者又一个静态内部类      内部类的优点:隐藏类的细节,内部类可以声明为私有.内部类可以访问外部类的对象(包括private) 静态内部类:可以有静态数据,静态方法或者又一个静态内部类 局部内部类:定义在一个方法或者一个代码块中的类,作用域为相应代码块 匿名内部类:该类没有名字,一般直接写为(new 接口(..))并返回一个实现了某接口的对象.   为什么需要内部类?     典型的情况是,内部类继承自某个类或实现某个接口,内部类的代码操作创建其的外围类…
源出处: java中的匿名内部类总结 匿名内部类也就是没有名字的内部类 正因为没有名字,所以匿名内部类只能使用一次,它通常用来简化代码编写 但使用匿名内部类还有个前提条件:必须继承一个父类或实现一个接口 实例1:不使用匿名内部类来实现抽象方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 abstract class Person {     public abstract void eat(); }   class Child extends Person {…
源出处:JAVA内部类 在java语言中,有一种类叫做内部类(inner class),也称为嵌入类(nested class),它是定义在其他类的内部.内部类作为其外部类的一个成员,与其他成员一样,可以直接访问其外部类的数据和方法.只不过相比较外部类只有public和默认的修饰符不同,内部类作为一个成员,可以被任意修饰符修饰.编译器在编译时,内部类的名称为OuterClass$InnerClass.class . 1.内部类访问数据变量当在某些时候,内部类中定义的变量与外部类中变量名称相同时,…
匿名内部类在java编码中不是很常见,它可一让类实现多继承的特性(多个父类~1个子类) java中的匿名内部类总结http://www.cnblogs.com/nerxious/archive/2013/01/25/2876489.html java中的内部类总结http://www.cnblogs.com/nerxious/archive/2013/01/24/2875649.html…
说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉.原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法.今天我们就来一探究竟.下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 若有不正之处,请多谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/dolphin0520/p/3811445.html 一…
转载:http://android.blog.51cto.com/268543/384844/ Java内部类的使用小结 内部类是指在一个外部类的内部再定义一个类.类名不需要和文件夹相同. *内部类可以是静态static的,也可用public,default,protected和private修饰.(而外部顶级类即类名和文件名相同的只能使用public和default).   注意:内部类是一个编译时的概念,一旦编译成功,就会成为完全不同的两类.对于一个名为outer的外部类和其内部定义的名为i…
Java内部类 1.内部类分为成员内部类.静态嵌套类.方法内部类.匿名内部类. 几种内部类的共性: A.内部类仍然是一个独立的类,在编译之后会内部类会被编译成独立的.class文件,但是前面冠以外部类的类命和$符号. B.内部类不能用普通的方式访问.内部类是外部类的一个成员,因此内部类可以自由地访问外部类的成员变量,无论是否是private的. 2.成员内部类 形式如下:     class Outer {         class Inner{}     } 编译上述代码会产生两个文件:Ou…
Java 内部类种类及使用解析 内部类Inner Class 将相关的类组织在一起,从而降低了命名空间的混乱. 一个内部类可以定义在另一个类里,可以定义在函数里,甚至可以作为一个表达式的一部分. Java中的内部类共分为四种: 静态内部类static inner class (also called nested class) 成员内部类member inner class 局部内部类local inner class 匿名内部类anonymous inner class 静态内部类Static…