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

JAVA静态内部类_java静态内部类实例

如有不足、不当之处,欢迎拍砖指正~ 静态内部类特性详解 ---- 静态内部类的使用场景   在考虑使用静态内部类时,一般有这样的场景需求:当外部类需要使用内部类,而内部类无需外部类资源,并且内部类可以单独创建...静态内部类的使用限制   对于在外部类的各个方法间定义的内部类,静态与非静态在使用时有不同的限制,主要总结为以下的几个区别:     (1)在方法间定义的非静态内部类:       ● 外围类和内部类可互相访问自己的私有成员...● 在创建静态内部类实例时不需要将静态内部类实例绑定在外部类实例上。(即内部类可以单独创建实例) /** * 声明静态内部类实例与非静态内部类实例的区别示例。...*/ // 静态内部类可以单独初始: Inner i = new Inner(); // 非静态内部类初始: Outer o = new Outer();...Inner i = o.new Inner(); 静态内部类的使用样例   关于静态内部类,《Effective Java》一书中还给出了一个这样的使用例子: public class Outer

1.1K10

java部类实例方式

参考链接: Java内部的类 1、java成员和静态内部类的使用,适用类本身适用,旨在减少文件个数和方便维护管理;  2、匿名内部类方便不同业务实现下的灵活使用;  3、局部内部类,跟匿名内部类相仿,但功能不同...本文着重讲:  ①java成员内部类和静态内部类实例方式,  ②内部类的方法调用方式  代码实现如下:  package com.innerClass; import com.google.gson.Gson...final Gson gson = new Gson();     public static void main(String[] args) {         /**          * 外部类...user = new User();         user.setName("Jack");         user.setAge(22);         /**          * 创建内部类对象...        user.setOrg(org);         json = gson.toJson(user);         System.out.println(json);     } } 外部类

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

java中内部类中还有内部类请给实例

2.当内部类中还有一个内部类,下面给出了一个实例。...新手可忽略不影响继续学习】(以下多出代码, 用蓝色标记) 例2.2: class ShellMark_to_win {     int shell_x = 100;//马克-to-win:既然每个内部类实例都可以改变这里的外层类静态属性或实例属性...,这里成为内部类实例们可以交互的地方     static int n;     void visitCore() {         Core core = new Core();         core.y...=8;         core.display();     }     // 下面是个实例部类,必须有个外层类实例,才能有这个内部类实例。...    {         return new Core();     }     void showy() {         // y=9; // 错误,马克-to-win:外层类不能直接访问内部类的属性

22820

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

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

70550

Java探索之旅】内部类 静态、实例、局部、匿名内部类全面解析

前言 在Java编程中,内部类是一种强大的特性,允许在一个类的内部定义另一个类,从而实现更好的封装和组织代码结构。...本文将深入探讨各种类型的内部类,包括静态内部类实例部类、局部内部类和匿名内部类的定义、特点和用法。通过实例代码和详细解释,帮助读者全面了解内部类的应用场景和技巧,提升Java编程的能力和效率。...Sout1 sout1 = new Sout1(); System.out.println(sout1.a1);//demo1是静态类是不依赖对象的,所以在调用外部类的成员时需要实例对象...System.out.println(a3); Demo2 demo2 = new Sout2.Demo2(); System.out.println(demo2.a4);//外部类访问非静态类需要实例对象...不能被public、static等修饰符修饰 极其少数会见到(基本不用) 1.5 匿名内部类 匿名内部类是一种特殊的内部类,它没有显式的类名,直接在创建对象的地方定义并实例

6510

java部类 java部类作用

java部类作用 为什么在Java中需要内部类?总结一下主要有以下四点:   1.每个内部类都能独立的继承一个接口的实现,所以无论外部类是否已经继承了某个(接口的)实现,对于内部类都没有影响。...◆Java部类 一、 含义 ---- 在Java编程语言里,程序是由类(class)构建而成的。在一个类的内部也可以声明类,我们把这样的类叫做内部类。 ?...我们知道加载类时,会先初始静态成员,如果成员内部类有静态成员,那么内部类就会在外部类之前生成,而内部类是为外部类服务的,内部类在外部类之前就生成可能会脱离掌控。...在实例化成员内部类时,成员内部类会持有一个外部类当前对象的引用,这样在成员内部类中就可以直接访问外部类的成员,即使是private修饰的。 ?...局部内部类在方法外是无法访问到的,但它的实例可以从方法中返回,并且实例在不再被引用之前会一直存在。

2.8K20

Java(内部类

如果一个事物的内部包含另一个事物,那么这就是一个类的内部包含另一个类; 比如可以比作:"身体和心脏" "汽车和发动机"; 内部类又可以分为: 1、成员内部类 2、局部内部类(匿名内部类) 成员内部类:...成员内部类的定义格式: 修饰符 class 外部类名称{ 修饰符 class 内部类名称{ } } 注意:用外可以随意使用,外用,需要内部类的对象; 如下图: 如何使用成员内部类...,两种方式: 1、间接访问:在外部类的方法中,使用内部类,然后在main只调用外部类的方法; 2、直接访问:外部类名称.内部类名称 对象名=new 外部类名称().new 内部类名称(); Body.Heart...格式: 修饰符 class 外部类名称{ 修饰符 返回值类型 外部类成员方法名(参数列表){ class 局部内部类 (){ } } } 如下图: 可以用的权限修饰符...) / private 3、局部内部类:什么都不能写 匿名内部类: 如果接口的实现类(父类的子类)只需要使用一次, 那么这种情况下就可以省略该类的定义,用匿名内部类; 格式: 接口名称 对象名=new

39210

Java部类

1.成员内部类   成员内部类是最普通的内部类,它的定义为位于另一个类的内部,形如下面的形式: ? 这样看起来,类Draw像是类Circle的一个成员,Circle称为外部类。...虽然成员内部类可以无条件地访问外部类的成员,而外部类想访问成员内部类的成员却不是这么随心所欲了。...虽然成员内部类可以无条件地访问外部类的成员,而外部类想访问成员内部类的成员却不是这么随心所欲了。...2.局部内部类   局部内部类是定义在一个方法或者一个作用域里面的类,它和成员内部类的区别在于局部内部类的访问仅限于方法或者该作用域。 ?...静态内部类是不需要依赖于外部类的,这点和类的静态成员属性有点类似,并且它不能使用外部类的非static成员变量或者方法,这点很好理解,因为在没有外部类的对象的情况下,可以创建静态内部类的对象,如果允许访问外部类的非

55110

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

Java 中,可以将一个类定义在另一个类里面或者一个方法里面,这样的类称为内部类。广泛意义上的内部类一般来说包括这四种:成员内部类、局部内部类、匿名内部类和静态内部类。...2.局部内部类 局部内部类是定义在一个方法或者一个作用域里面的类,它和成员内部类的区别在于局部内部类的访问仅限于方法或者该作用域。...(4)局部内部类访问外部类的成员属性或者方法时,直接访问; (5)外部类访问局部内部类的成员属性或者方法时,通过先创建对象,再访问,且必须要在作用域。...name:" + inner.name); } } 3.匿名内部类 Java 中可以实现一个类中包含另外一个类,且不需要提供任何的类名直接实例。..." + name + " 外部类静态成员" + Outer.name); } } /** * 通过方法,返回静态内部类实例 * @return

1K10

Java部类

下面分别介绍——   普通内部类  普通情况,或者说最典型的情况,就是一个Java类嵌在另一个Java类中,形成了、外的格局;外部类就是我们普通的类,内部类也是普通的类,特性都满足Java类的特性,...} }  不过,通常情况下,也不会这样去创建内部类对象,基于Java封装的特性,内部类作为一种封装的体现,通常会对调用者隐藏实现细节,而通过外部类的方法来返回内部类的对象实例。...基础的都清楚,静态成员是一个类中最先被初始的部分,所以,如果我们只通过 ① 创建外部类的对象,那么Outer类中的静态代码块肯定会执行,控制台有相应的打印,那静态内部类会不会也被初始呢?...单独执行 ② 你会发现,外部类静态块没有初始,也即是静态内部类独立于外部类,它的初始不会对外部类有任何影响;执行 ③ ④ 同样的,你会发现,只有在要使用类的内部属性的时候,代码块才会初始,同样的初始对外部类的初始没有产生影响...只能直接new 它的类实体,可以这么说,匿名内部类是伴随着类定义的同时就必须被实例的。

65230

Java部类

部类一般包括这四种:成员内部类、静态内部类、局部内部类和匿名内部类。 每个内部类都能独立地实现一个接口或者抽象类,所以无论其所属的主类是否已经实现一个接口或者抽象类,对于内部类都没有影响。...成员内部类和静态内部类用private/protected/public修饰时,外部访问规则与访问对应外部类的属性/方法的规则一样;局部内部类不能使用访问修饰符修饰;匿名内部类甚至都不用class关键字来定义...//内部类调用对应主类的同名方法 } } } (1)成员内部类对象中不能定义静态变量、静态方法 (2)要创建成员内部类对象,必须要先创建对应外部类的对象 (3)成员内部类引用对应主类的同名属性...、构造代码块、方法中 (2)局部内部类不可以用访问修饰符(private/protected/public)修饰 4、匿名内部类 匿名内部类也是一种局部内部类,不需要用class关键字来声明,匿名内部类通常是一个抽象类或接口的实现...(二者只能选择其一),直接通过new关键字来实例

37420

Java部类

部类的种类: 成员内部类、静态内部类、局部内部类、匿名内部类 成员内部类 1、成员内部类也叫实例部类。...new Inner().print();//通过内部类实例对象调用方法 } public static void main(String[] args) {...2、静态内部类使用场合:内部类不需要外部类实例(注意区分成员内部类),静态内部类存在仅仅为外部类提供服务或者逻辑上属于外部类,且逻辑上可以单独存在。...3、静态内部类的特征: 静态内部类不会持有外部类的引用,静态内部类可以访问外部的静态变量,如果访问外部类的成员变量必须通过外部类实例访问 4、Java中只有内部类才可以是静态的 使用格式:Outer.Inner...1、匿名内部类也就是没有名字的内部类,这是java为了方便我们编写程序而设计的一个机制,因为有时候有的内部类只需要创建一个它的对象就可以了,以后再不会用到这个类,这时候使用匿名内部类就比较合适。

36720

Java部类

Java中,可以将一个类定义在另一个类里面或者一个方法里边,这样的类称为内部类,广泛意义上的内部类一般包括四种:成员内部类,局部内部类,匿名内部类,静态内部类 。...1.成员内部类 (1)该类像是外部类的一个成员,可以无条件的访问外部类的所有成员属性和成员方法(包括private成员和静态成员); (2)成员内部类拥有与外部类同名的成员变量时,会发生隐藏现象,即默认情况下访问的是成员内部类中的成员...如果要访问外部类中的成员,需要以下形式访问:【外部类.this.成员变量 或 外部类.this.成员方法】; (3)在外部类中如果要访问成员内部类的成员,必须先创建一个成员内部类的对象,再通过指向这个对象的引用来访问...; (4)成员内部类是依附外部类而存在的,也就是说,如果要创建成员内部类的对象,前提是必须存在一个外部类的对象; (5)内部类可以拥有private访问权限、protected访问权限、public访问权限及包访问权限...2.局部内部类 (1)局部内部类是定义在一个方法或者一个作用域里面的类,它和成员内部类的区别在于局部内部类的访问仅限于方法或者该作用域; (2)局部内部类就像是方法里面的一个局部变量一样,是不能有public

28210

Java部类

Java部类部类简介# ---- Java 一个类中可以嵌套另外一个类,语法格式如下: class OuterClass { // 外部类 // ......侧面说明成员内部类依赖于外部类的优先创建,不然会初始失败 局部内部类# ---- 定义在一个方法或者一个作用域里面的类,局部内部类的访问仅限于方法或者该作用域 class MyClass{...Animal父类; 一对括号,如果是匿名子类,与实例普通类的语法类似,如果有构造参数,要带上构造参数;如果是实现一个接口,只需要一对空括号即可; 一段被"{}"括起来类声明主体; 末尾的";"号(因为匿名类的声明是一个表达式...,才会有累的初始过程。...# ---- 为什么在 Java 中需要内部类

28700
领券