首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Java中的嵌套、内部类、静态内部类

参考链接: Java中的嵌套Java中我们在一个的内部再定义一个,如下所示:  class OuterClass {     ...    ...内部类与静态嵌套虽然都是嵌套,但在使用上是有一些区别的。 内部类 比如有如下内部类的定义, class OuterClass {     ...    ...这样innerObject就可以访问outerObject的所有成员属性以及方法了。  那如果想直接跳过外围去初始化内部类会怎么样呢?...静态嵌套   有些人把静态嵌套成为静态内部类,其实静态内部类这个称呼不严谨,因为内部类都是非静态的。...由于静态嵌套没有像内部类那样绑定外部类对象,所以也就不存在静态嵌套不能访问其外围的成员这种说法。

1.6K50

java的内部类和静态内部类(嵌套

尤其是Static 修饰和修饰对象和变量不一样呢? 定义 1. 内部类 可以将一个的定义放在另一个的定义内部,这就是内部类; 嵌套是其封闭的成员。...静态内部类 再一个普通里面,给内部类加上static关键字的修饰; 与方法和变量一样,静态嵌套与其外部类相关联。...Java 拥有嵌套有什么作用呢? 这是一种对仅在一个地方使用的进行逻辑分组的方法:如果一个仅对另一个有用,那么将其嵌入该类并将两者保持在一起是合乎逻辑的。...当Java编译器编译某些构造(例如内部类)时,它会创建综合构造。 这些是,方法,字段以及其他在源代码中没有相应构造的构造。合成构造使Java编译器无需更改JVM就可以实现新的Java语言功能。...总结 嵌套:内部类和静态内部类部类属于外部类的成员,必须依赖与外部对象来实现,静态内部类,不依赖,可以自己单独实现。 static 的修饰 变量,,方法,代码块。 共性全局性。

1.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

java部类 静态内部类_java部类和内部类

今天我们分析内部类和静态内部类的区别,首先我们写一个InnerClassTest,其中有一个内部类InnerClass和静态内部类StaticInnerClass。...倒数5行,StaticInnerClass的innerMethod()报错,显示d() Q:什么是内部类?有什么作用?静态内部类和非静态内部类的区别? 总结 内部类就是定义在另外一个里面的。...它隐藏在外部类中,封装性更强,不允许除外部类外的其他访问它;但它可直接访问外部类的成员。...静态内部类和非静态内部类的区别有: 静态内部类是指被声明为static的内部类,可不依赖外部类实例化;而非静态内部类需要通过生成外部类来间接生成。...静态内部类只能访问外部类的静态成员变量和静态方法,而非静态内部类由于持有对外部类的引用,可以访问外部类的所用成员 参考: 从一道面试题开始说起 枚举、动态代理的原理 java部类有什么好处?

71150

Java 的嵌套(内部类和静态嵌套

参考链接: Java嵌套静态 嵌套   Java允许在一个定义另一个,称为嵌套 (Nested Classes),类似下面的形式   class OuterClass {     ...    ...),非静态的称为内部类(Inner Classes)  一个嵌套是包含它的外部类的一个成员,内部类能够访问外部类的其他成员,而静态嵌套没有访问外部类的权限  作为外部类的成员,嵌套能被声明为private..., public, protected或者包访问的访问权限。     ...静态嵌套   静态嵌套与静态里面的方法类似,一个静态嵌套不能直接调用外部类里面的实例变量或者方法,它只能通过对象引用访问他们。  ...Java官方文档的解释:    Note: A static nested class interacts with the instance members of its outer class (and

85020

Java的抽象、接口、内部类

,那么这个就叫做内部类,而内部类所在的叫做外部类。...-体中的内容:成员变量、成员方法、构造方法、静态成员、构造块和静态代码块、内部类....语法格式: 基本作用: -当一个存在的价值仅仅是为某一个单独服务时,就可以将这个定义为所服务的内部类,此时内部类可以直接访问外部.的私有成员而不再需要提供公有的get和set方法。...基本分类: 普通内部类 - 直接将一个的定义放到另外一个体中。 静态内部类 - 使用static关键字修饰的内部类。 ------------ 只有内部类才可以使用static关键字修饰。...局部内部类 - 直接将一个的定义放到方法体的内部。 ------------- 只在方法体内有效。 匿名内部类 - 主要指没有名字的内部类

10620

Java-抽象与内部类

abstract修饰符可以用来修饰方法也可以修饰,如果修饰方法,那么该方法就是抽象方法;如果修饰,那么该类就是抽象。 抽象中可以没有抽象方法,但是有抽象方法的一定要声明为抽象。...子类继承抽象,那么就必须要实现抽象没有实现的抽象方法,否则该子类也要声明为抽象。...内部类部类就是在一个的内部在定义一个,比如,A中定义一个B,那么B相对A来说就称为内部类,而A相对B来说就是外部类了。...成员内部类 静态内部类 局部内部类 匿名内部类 示例代码: public class Outer { private int id; public void out() {...("这是内部类的方法"); } } //获得外部类的私有属性~ public void getID(){ System.out.println(id

21340

Java 内部静态_静态内部类特点

Java中的内部类是在Jdk1.1版本之后增加的,内部类Java语言中一个比较重要的概念,如果能把内部类运用好,那么会明显增强Java程序的灵活性。...简单的说就是在一个的内部又定义了一个,这个就称之为内部类(Inner Class)。...看一个简单的例子: 内部类有以下几个主要的特点: 第一,内部类可以访问其所在的属性(包括所在的私有属性),内部类创建自身对象需要先创建其所在的对象,看一个例子: 第二,可以定义内部接口,且可以定义另外一个内部类实现这个内部接口...看一个例子: static内部类是内部类中一个比较特殊的情况,Java文档中是这样描述static内部类的:一旦内部类使用static修饰,那么此时这个内部类就升级为顶级。...也就是说,除了写在一个的内部以外,static内部类具备所有外部类的特性,看一个例子: 通过这个例子我们发现,static内部类不仅可以在内部定义static元素,而且在构建对象的时候也可以一次完成

60320

java部类 java部类作用

java部类作用 为什么在Java中需要内部类?总结一下主要有以下四点:   1.每个内部类都能独立的继承一个接口的实现,所以无论外部类是否已经继承了某个(接口的)实现,对于内部类都没有影响。...3.方便编写事件驱动程序   4.方便编写线程代码   个人觉得第一点是最重要的原因之一,内部类的存在使得Java的多继承机制变得更加完善。...◆Java部类 一、 含义 ---- 在Java编程语言里,程序是由(class)构建而成的。在一个的内部也可以声明,我们把这样的叫做内部类。 ?...四、 分类 ---- Java部类可分为成员内部类、局部内部类、匿名内部类、静态内部类。...运行结果: outer:lalala 3) 匿名内部类 可以把匿名内部类想象成是没有名的局部内部类,匿名内部类有以下特点: 1、匿名内部类不能有构造器,匿名内部类没有名,肯定无法声明构造器。

2.9K20

【小家java】静态、静态方法、内部类、匿名内部类、非静态的一些实践

但如果这个是内部类,是可以这样写的:public static class A 静态内部类的作用:只是为了降低包的深度,方便的使用,实现高聚。...静态内部类适用于不依赖于外部类,不用使用外在的非静态属性和方法,只是为了方便管理结构而定义。在创建静态内部类的时候,不需要外部类对象的引用。...3、使用场景 内部类和静态内部类的区别 静态 只能在内部类中定义静态 静态内部类不依赖于外部类,即使外部类没有创建对象,静态也可以new对象 静态的方法可以是静态的方法也可以是非静态的方法,静态的方法可以在外层通过静态调用...可以实现多重继承 可以避免修改接口而实现同一个中***两种同名方法***的调用 java的设计旨在简单,所以初学者十分好入门并且上手工作,但作为一门火了这么多年的语言,肯定还是有些硬骨头的,而这些,...我们会发现java的设计者在设计内部类的时候用心良苦,学会使用内部类,是掌握java高级编程的一部分,它可以让你更优雅的设计你的程序结构。

2.4K30

Java部类

1.成员内部类   成员内部类是最普通的内部类,它的定义为位于另一个的内部,形如下面的形式: ? 这样看起来,Draw像是Circle的一个成员,Circle称为外部类。...这一点和外部类有一点不一样,外部类只能被public和包访问两种权限修饰。我个人是这么理解的,由于成员内部类看起来像是外部类的一个成员,所以可以像的成员一样拥有多种权限修饰。   ...2.局部内部类   局部内部类是定义在一个方法或者一个作用域里面的,它和成员内部类的区别在于局部内部类的访问仅限于方法或者该作用域。 ?...代码中需要给按钮设置监听器对象,使用匿名内部类能够在实现父或者接口中的方法情况下同时产生一个相应的对象,但是前提是这个父或者接口必须先存在才能这样使用。...4.静态内部类   静态内部类也是定义在另一个里面的,只不过在的前面多了一个关键字static。

56010

Java(内部类

如果一个事物的内部包含另一个事物,那么这就是一个的内部包含另一个; 比如可以比作:"身体和心脏" "汽车和发动机"; 内部类又可以分为: 1、成员内部类 2、局部内部类(匿名内部类) 成员内部类:...成员内部类的定义格式: 修饰符 class 外部类名称{ 修饰符 class 内部类名称{ } } 注意:用外可以随意使用,外用,需要内部类的对象; 如下图: 如何使用成员内部类...) / private 3、局部内部类:什么都不能写 匿名内部类: 如果接口的实现(父的子类)只需要使用一次, 那么这种情况下就可以省略该类的定义,用匿名内部类; 格式: 接口名称 对象名=new...; 注意事项: 1、匿名内部类,在创建对象的时候,只能使用唯一的一次; 如果希望多次创建对象,而且的内容一样的话,匿名就需要使用单独定义的实现了; 2、匿名对象,在调用方法的时候,只能调用唯一的一次...; 如果希望同一个对象,调用多次的方法,那么必须给对象起个名字; 3、匿名内部类是省略了"实现/子类名称",但是匿名对象是省略了"对象名称"; 匿名内部类和匿名对象不是一回事; 局部内部类

39810

Java部类-成员内部类、局部内部类、匿名内部类、静态内部类

Java 中,可以将一个定义在另一个里面或者一个方法里面,这样的称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。...我们知道的五大成员:属性、方法、构造器、代码块、内部类。内部类最大的特点就是可以直接访问私有属性,并且可以体现之间的包含关系。...2.局部内部类 局部内部类是定义在一个方法或者一个作用域里面的,它和成员内部类的区别在于局部内部类的访问仅限于方法或者该作用域。...(4)局部内部类访问外部类的成员属性或者方法时,直接访问; (5)外部类访问局部内部类的成员属性或者方法时,通过先创建对象,再访问,且必须要在作用域。...name:" + inner.name); } } 3.匿名内部类 Java 中可以实现一个中包含另外一个,且不需要提供任何的名直接实例化。

1.1K10

Java部类

2、 认识内部类部类,顾名思义,就是一个定义在已有的Java内部的,就像下面这样: public class Outer { //外部类 class Inner{ //内部类...没有然后了,就先这样简洁直观的认识它吧,相信我,内部类本来就很简单,别搞得太复杂了。   3 、内部类对象创建和基本使用 内部类既然是个Java,自然是可以创建对象的。...下面分别介绍——   普通内部类  普通情况,或者说最典型的情况,就是一个Java嵌在另一个Java中,形成了、外的格局;外部类就是我们普通的,内部类也是普通的,特性都满足Java的特性,...是的,也可以是静态的,不过必须是内部类才行。静态内部类,也叫嵌套Java中标准库中就有很多现成的应用,比如整形的包装器中用静态内部类来缓存[-128,127]之间的整数。...追踪Java标准库的一些源码你会发现,平时常用的容器、整形包装器等都有大量使用内部类的场景;而平时引入的第三方库、框架中的源码也有很多使用内部类的。

65730

Java部类

Java部类部类简介# ---- Java 一个中可以嵌套另外一个,语法格式如下: class OuterClass { // 外部类 // ......class NestedClass { // 嵌套,或称为内部类 // ... } } 嵌套有如下几种类型: 成员内部类# ---- 最简单的一种内部类,形式如下,跟其他变量一样...侧面说明成员内部类依赖于外部类的优先创建,不然会初始化失败 局部内部类# ---- 定义在一个方法或者一个作用域里面的,局部内部类的访问仅限于方法或者该作用域 class MyClass{...本部分参考JAVA匿名内部类(Anonymous Classes) 静态内部类# ---- 静态内部类是不需要依赖于外部类的,并且它不能使用外部类的非static成员变量或者方法,这个和普通静态方法不能访问非静态方法或变量的原理一样...# ---- 为什么在 Java 中需要内部类

29500

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券