面向对象(局部内部类和匿名内部类)

/**
* Created by rabbit on 2014-08-05.
* 内部类定义在局部时,
* 1、不可以被成员修饰符修饰
* 2、可以直接访问外部类中的成员,因为还持有
* 外部类中的引用。但是不可以访问他所在的局部中
* 的变量。只能访问被final修饰的局部变量。
*
* 匿名内部类
* 1、匿名内部类就是内部类的简写格式
* */
class outer4
{
    int x = 3 ;
    void method()
    {
        final int y = 5;
        class inner
        {
            void function()
            {
                System.out.println(y);
            }
        }
        new inner().function();
    }

}
public class innerclassDemo4 {
    public static void main(String [] args)
    {
        new outer4().method();
    }
}

面向对象(局部内部类和匿名内部类)

时间: 2024-10-09 17:49:52

面向对象(局部内部类和匿名内部类)的相关文章

Java内部类详解--成员内部类,局部内部类,匿名内部类,静态内部类

说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉.原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法.今天我们就来一探究竟.下面是本文的目录大纲: 一.内部类基础 二.深入理解内部类 三.内部类的使用场景和好处 四.常见的与内部类相关的笔试面试题 若有不正之处,请多谅解并欢迎批评指正. 请尊重作者劳动成果,转载请标明原文链接: http://www.cnblogs.com/dolphin0520/p/3811445.html 一

Java中的内部类(成员内部类、静态内部类、局部内部类、匿名内部类)

Java中的内部类(成员内部类.静态内部类.局部内部类.匿名内部类) 神话丿小王子的博客主页 我们先看这样一段话:人是由大脑.肢体.器官等身体结果组成.而组成我们人体的心脏它也有自己的属性和行为(血液.跳动),显然,此处不能单方面用属性或者方法表示一个心脏了,而需要一个类,但是这个类要依赖于人这个类存在(因为心脏不能脱离人体而存活,当然不考虑现今社会的发达科技,只从正常情况下来说),所心脏以需要写在人类的内部.内部类就相当于其中的某个器官之一. 首先看看什么是内部类:在类的内部定义另一个类.没错

Java之局部内部类和匿名内部类的区别详解(附源码)

前言 前面提到过,可以在代码块里创建内部类,典型的方式是在一个方法体里面创建.局部内部类不能有访问说明符,因为它不是外围类的一部分:但是他可以访问当前代码块内的常量,以及此外围类的所有成员.下面的例子对局部内部类与匿名内部类的创建进行了比较. 示例源码 package com.mufeng.thetenthchapter; interface Counter { int next(); } public class LocalInnerClass { private int count = 0;

局部内部类和匿名内部类的对比

创建内部类的典型的方式是在一个方法体的里面创建,局部内部类不能有访问说明符,因为它不是外围类的一部分,但是它可以访问当前代码块内的常量,以及此外围类的所有成员.下面的例子对局部内部类与匿名内部类的创建进行了比较. 具体代码实现: 1 package thinking.in.java.demo; 2 3 //定义一个接口 4 interface Counter { 5 int next(); 6 } 7 8 // 主类LocalInnerClass 9 public class LocalInne

19、局部内部类和匿名内部类

package com.lei.duixiang; /** * 局部内部类 * 1.如果需要在方法中使用局部变量,该局部变量需要被设置为 final 类型 * 2.换句话说,在方法中定义的内部类只能访问方法中 final 类型的局部变量 * 这是因为在方法中定义的局部变量相当于一个常量,它的生命周期超出方法运行的生命周期 * 由于该局部变量被设置为final,所以不能在内部类中改变局部变量的值 * @author Administrator * * 匿名内部类 OutClass4 */ inte

JAVA学习之局部内部类,匿名内部类,静态内部类

分别写了一个匿名内部类和静态内部类的程序,局部内部类感觉就是后两者的一般情况,后两者则是前者的特殊应用. 局部内部类:在一个方法中定义一个类,不可以用public或static进行声明,可以对外部完全隐藏,只有该方法可以调用. 匿名内部类:不用写类的定义头部分,直接写类体,我个人感觉不太好,只有在接口要定义函数时用比较好吧?这种类不能有构造函数,所以它调用超类的构造函数,注意在内部类实现接口时不能有参数. 静态内部类:如果只是单存为了隐藏一个类,而不用内部类去调用外围对象,则可以用这种类,用起来

【java基础】内部类,局部内部类,匿名内部类、静态内部类、接口中的内部类

内部类: 1.定义在一个类中的内部类,内部类的实例化伴随着外围类所定义的方法来构造,内部类对象有外围类的隐式引用,所以内部类可以直接访问外围类的外围类的域,包括私有的,这是内部类的访问特权,所以比常规类功能更加强大. 2.内部类可以对同一个包中的其他类隐藏起来,不过可以通过 OuterClass.InnerClass来引用public声明的内部类. 局部内部类: 1.内部类挪到方法内部,与内部类相比,局部内部类不仅可以访问定义他们的外部类,还可以并且仅可以访问声明为final的局部变量. 2.类

Java:内部类(静态内部类、成员内部类、局部内部类、匿名内部类)

Java基础_内部类:在Java中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类. 内部类的主要作用:使用内部类可以减少命名冲突. 定义位置:一个内部类可以定义在一个类中,也可以在一个方法中,甚至在一个表达式中. 广义上讲,内部类分为四种: 静态内部类(static inner classes) 成员内部类(member inner classes) 局部内部类(local inner classes) 匿名内部类(anonymous inner classes) 1.静态

java之内部类(InnerClass)----非静态内部类、静态内部类、局部内部类、匿名内部类

提起java内裤类(innerClass)很多人不太熟悉,实际上类似的概念在c++里面也有,那就是嵌套类(Nested Class),关于这俩者的区别,在下文中会有对比.内部类从表面上看,就是在类中定义了一个类(下文可以看到,内部类可以在很多地方定义),而实际上并没有那么简单,乍看上去内部类似乎有些多余,他的用处可能对于初学者来说并不是那么显著,但是随着对他的深入了解,你会发现java的设计者在内裤类上面的确是用心良苦.学会使用内部类,是掌握java高级编程的一部分,他可以让你更优雅的设计你的程