本文转载于:https://blog.csdn.net/jump_sayyeah/article/details/89971378
一、static修饰属性
1.属性随着类的加载而加载,是类变量,其加载早于对象,不需要new即可加载
2.类变量所在的类的所有对象共用这一个属性,存放在静态域中
二、static修饰方法
1.方法随着类的加载而加载随着类的加载而加载,是类方法,其加载早于对象,不需要new
2类方法所在的类的所有对象共用这一个方法.
3类方法内部只可调用静态的属性和静态的方法,而不能调用非静态的属性和方法
反之,非静态方法可以调用静态的属性和方法
三、static修饰内部类
1普通类是不允许声明为静态的,只有内部类才可以
2被static修饰的内部类可以直接作为一个普通类来使用,而不需实例一个外部类
|静态内部类
1 public class Outer {
2 public static class Inner{
3 Inner(){
4 System.out.println(“静态内部类”);
5 }
6 }
7 }
8 public class TestStatic {
9
10 // 不需要new一个对象
11 new Outer.Inner();
12 }
13 }
|普通内部类
1 public class Outer {
2 public class Inner{
3 Inner(){
4 System.out.println(“普通内部类”);
5 }
6 }
7 }
8 public class TestStatic {
9
10 // 需要new一个对象
11 new Outer.new Inner();
12 }
13 }