静态内部类就是给成员内部类上添加static修饰符
- package com.wangxing.test1;
- public class Hello {
- public static class World{
-
- }
- }
静态内部类可以出现构造方法,实例元素,静态元素
- package com.wangxing.test1;
- public class Hello {
- public static class World{
- public String worldshili="静态内部类中的实例变量";
- public static String worldstatic="静态内部类中的静态变量";
- public World(){}
- public void worldshiliMethod(){}
- public static void worldstaticMethod(){}
- }
- }
1.在静态内部类的构造方法和实例方法中可以访问静态内部类中构造方法,实例元素,静态元素
构造方法--new
实例元素--对象/this,可以省略
静态元素--对象/this/类名,可以省略
2.在静态内部类的静态方法中可以访问静态内部类中构造方法,实例元素,静态元素
构造方法--new
实例元素--对象
静态元素--对象/类名,可以省略
不能使用this
- package com.wangxing.test1;
- public class Hello1 {
- public static class World1{
- public String worldshili="静态内部类中的实例变量";
- public static String worldstatic="静态内部类中的静态变量";
- public World1(){}
- public World1(String name){
- World1 w11=new World1();
-
- System.out.println(w11.worldshili);
- System.out.println(this.worldshili);
- System.out.println(worldshili);
- w11.worldshiliMethod1();
- this.worldshiliMethod1();
- worldshiliMethod1();
-
- System.out.println(w11.worldstatic);
- System.out.println(this.worldstatic);
- System.out.println(World1.worldstatic);
- System.out.println(worldstatic);
- w11.worldstaticMethod1();
- this.worldstaticMethod1();
- World1.worldstaticMethod1();
- worldstaticMethod1();
- }
- public void worldshiliMethod1(){}
- public void worldshiliMethod2(){
- World1 w11=new World1();
-
- System.out.println(w11.worldshili);
- System.out.println(this.worldshili);
- System.out.println(worldshili);
- w11.worldshiliMethod1();
- this.worldshiliMethod1();
- worldshiliMethod1();
-
- System.out.println(w11.worldstatic);
- System.out.println(this.worldstatic);
- System.out.println(World1.worldstatic);
- System.out.println(worldstatic);
- w11.worldstaticMethod1();
- this.worldstaticMethod1();
- World1.worldstaticMethod1();
- worldstaticMethod1();
- }
- public static void worldstaticMethod1(){}
- public static void worldstaticMethod2(){
- World1 w11=new World1();
- System.out.println(w11.worldshili);
- //System.out.println(this.worldshili);
- //System.out.println(worldshili);
- w11.worldshiliMethod1();
- //this.worldshiliMethod1();
- //worldshiliMethod1();
-
- System.out.println(w11.worldstatic);
- //System.out.println(this.worldstatic);
- System.out.println(World1.worldstatic);
- System.out.println(worldstatic);
- w11.worldstaticMethod1();
- //this.worldstaticMethod1();
- World1.worldstaticMethod1();
- worldstaticMethod1();
- }
-
- }
- }
构造方法---new
实例元素---只能对象,不能省略
静态元素---对象/类名,可以省略
- package com.wangxing.test1;
- public class Hello2 {
- public String helloshili="外部类中的实例变量";
- public static String hellostatic="外部类中的静态变量";
- public Hello2(){}
- public void helloshiliMethod1(){}
- public static void hellostaticMethod1(){}
-
- public static class World2{
- public World2(){
- Hello2 h2=new Hello2();
- System.out.println(h2.helloshili);
- //System.out.println(Hello2.this.helloshili);
- //System.out.println(helloshili);
- h2.helloshiliMethod1();
- //Hello2.this.helloshiliMethod1();
- //helloshiliMethod1();
- System.out.println(h2.hellostatic);
- //System.out.println(Hello2.this.hellostatic);
- System.out.println(Hello2.hellostatic);
- System.out.println(hellostatic);
- h2.hellostaticMethod1();
- //Hello2.this.hellostaticMethod1();
- Hello2.hellostaticMethod1();
- hellostaticMethod1();
-
- }
- public void worldshiliMethod1(){
- Hello2 h2=new Hello2();
- System.out.println(h2.helloshili);
- //System.out.println(Hello2.this.helloshili);
- //System.out.println(helloshili);
- h2.helloshiliMethod1();
- //Hello2.this.helloshiliMethod1();
- //helloshiliMethod1();
- System.out.println(h2.hellostatic);
- //System.out.println(Hello2.this.hellostatic);
- System.out.println(Hello2.hellostatic);
- System.out.println(hellostatic);
- h2.hellostaticMethod1();
- //Hello2.this.hellostaticMethod1();
- Hello2.hellostaticMethod1();
- hellostaticMethod1();
- }
- public static void worldstaticMethod1(){
- Hello2 h2=new Hello2();
- System.out.println(h2.helloshili);
- //System.out.println(Hello2.this.helloshili);
- //System.out.println(helloshili);
- h2.helloshiliMethod1();
- //Hello2.this.helloshiliMethod1();
- //helloshiliMethod1();
- System.out.println(h2.hellostatic);
- //System.out.println(Hello2.this.hellostatic);
- System.out.println(Hello2.hellostatic);
- System.out.println(hellostatic);
- h2.hellostaticMethod1();
- //Hello2.this.hellostaticMethod1();
- Hello2.hellostaticMethod1();
- hellostaticMethod1();
- }
-
- }
- }
构造方法--new
实例元素--对象,不可以省略
静态元素--对象/类名,不可以省略
- package com.wangxing.test1;
-
- public class Hello3 {
- public Hello3(){
- World3 w33=new World3();
- System.out.println(w33.worldshili);
- w33.worldshiliMethod1();
- System.out.println(w33.worldstatic);
- System.out.println(World3.worldstatic);
- w33.worldstaticMethod1();
- World3.worldstaticMethod1();
- }
- public void helloshiliMethod1(){
- World3 w33=new World3();
- System.out.println(w33.worldshili);
- w33.worldshiliMethod1();
- System.out.println(w33.worldstatic);
- System.out.println(World3.worldstatic);
- w33.worldstaticMethod1();
- World3.worldstaticMethod1();
- }
- public static void hellostaticMethod1(){
- World3 w33=new World3();
- System.out.println(w33.worldshili);
- w33.worldshiliMethod1();
- System.out.println(w33.worldstatic);
- System.out.println(World3.worldstatic);
- w33.worldstaticMethod1();
- World3.worldstaticMethod1();
- }
-
- public static class World3{
- public String worldshili="静态内部类中的实例变量";
- public static String worldstatic="静态内部类中的静态变量";
- public World3(){}
- public void worldshiliMethod1(){}
- public static void worldstaticMethod1(){}
- }
- }
1.没有导入静态内部类程序包的时候
构造方法--外部类类名.静态内部类类名 对象=new 外部类类名.静态内部类类名();
实例元素--只能对象
静态元素--对象/外部类类名.静态内部类类名
2.有导入静态内部类程序包的时候
//import com.wangxing.test1.Hello.World;
构造方法--静态内部类类名 对象=new 外部类类名.静态内部类类名();
实例元素--只能对象
静态元素--对象/外部类类名.静态内部类类名
- package com.wangxing.test1;
- public class Hello {
- public static class World{
- public String worldshili="静态内部类中的实例变量";
- public static String worldstatic="静态内部类中的静态变量";
- public World(){}
- public void worldshiliMethod(){}
- public static void worldstaticMethod(){}
- }
- }
-
- package com.wangxing.test1;
- import com.wangxing.test1.Hello.World;
- public class Other {
- public Other(){
- Hello.World w=new Hello.World();
- System.out.println(w.worldshili);
- w.worldshiliMethod();
- System.out.println(w.worldstatic);
- System.out.println(Hello.World.worldstatic);
- w.worldstaticMethod();
- Hello.World.worldstaticMethod();
- }
-
- public void otherShili(){
- //import com.wangxing.test1.Hello.World;
- Hello.World w=new Hello.World();
- //World w=new Hello.World();
- System.out.println(w.worldshili);
- w.worldshiliMethod();
- System.out.println(w.worldstatic);
- System.out.println(Hello.World.worldstatic);
- w.worldstaticMethod();
- Hello.World.worldstaticMethod();
- }
-
- public static void otherStatic(){
- //import com.wangxing.test1.Hello.World;
- //Hello.World w=new Hello.World();
- World w=new Hello.World();
- System.out.println(w.worldshili);
- w.worldshiliMethod();
- System.out.println(w.worldstatic);
- System.out.println(Hello.World.worldstatic);
- w.worldstaticMethod();
- Hello.World.worldstaticMethod();
- }
- }