java 静态类是什么意思 有什么特点

java 静态类是什么意思 有什么特点
最新回答
夕颜为谁舞

2021-11-13 02:34:01

java没有直接的静态类这种东西,一个类可以为static的情况只是他作为另一个类的成员,static表明他可以不用建立实例被访问而已,这样的内部类完全没有内部类的特点
1 内部类可以访问所在外部类的成员变量和方法,而静态内部类却不能
2 内部类可以使用Outter.this作为外部类引用,但静态内部类不能使用
3 静态内部类就如同外部类的一个静态成员,他只能访问外部类的静态成员和静态方法
4 在外部类外必须使用Outter.Inner外部类名和内部类名都要使用,楼上所说的不需要建立对象, 指的是不需要建立外部类实例,
比如BigOuter.Nested n = New BigOuter.Nested();
客情寄风絮

2020-09-08 19:25:32

这个问题从俩个方面很好的就能够理解
1、静态的特性
静态是不需要建立对象而直接进被虚拟机放入方法区(三大区:栈内存、堆内存、方法区)
2、类如何被使用
类被使用的前提就是有已经被建立的对象

通过上面两点综合去理解
静态类就是当程序一旦被执行,静态类直接被放入方法区,可以直接通过类名进行调用,而不需要建立类的对象。
有多少爱能够胡来

2020-09-16 07:33:21

不用通过类的声明,只是通过类名就可以直接调用的类就是静态类
墨语三千

2024-02-07 06:27:00

内部类
继续逞强

2023-08-02 16:22:38

在Java世界里,经常被提到静态这个概念,static作为静态成员变量和成员函数的修饰符,意味着它为该类的所有实例所共享,也就是说当某个类的实例修改了该静态成员变量,其修改值为该类的其它所有实例所见。最近一个项目里频繁用到static修饰的内部类,再读了一下《Effective Java》才明白为什么会用static来修饰一个内部类也就是本文的中心——静态类。
如果一个类要被声明为static的,只有一种情况,就是静态内部类。如果在外部类声明为static,程序会编译都不会过。在一番调查后个人总结出了3点关于内部类和静态内部类(俗称:内嵌类)
1.静态内部类跟静态方法一样,只能访问静态的成员变量和方法,不能访问非静态的方法和属性,但是普通内部类可以访问任意外部类的成员变量和方法

2.静态内部类可以声明普通成员变量和方法,而普通内部类不能声明static成员变量和方法。

3.静态内部类可以单独初始化:
Inner i = new Outer.Inner();

普通内部类初始化:
Outer o = new Outer();
Inner i = o.new Inner();
收起 3条折叠回答