对静态类到对静态方法和静态属性 static的初步理解

  对于静态类我是这么理解的,static修饰的类没有构造函数(但是可以有静态构造方法对初始属性进行赋值),不能被实例化,不能被继承,它里面的static方法只能调用被static修饰的变量。

对静态类到对静态方法和静态属性 static的初步理解

要说的是静态类说是这么说,我试了一下不能直接新建一个静态类,这也就说明这个静态类其实只能出现在一个其他类里面,这时候叫静态内部类(听说过吧)

  在继续说静态static这个意思,在一个类中被static修饰的东西(属性或者方法),在第一次被调用的时候就自动存在内存中了所以在Test被实例化的时候T已经自动运行了,而普通的类是实例化对象之后里面的属性和方法才会被放到内存中等待被引用。这就决定了在调用static修饰的属性或者方法时候可以直接用类名点(.)方法名调用,普通的类必须要先new一个实例才可以被调用里面的属性和方法。

在普通类中被static修饰的属性叫类属性同理方法叫类方法,属于类本身的,修改一个则这个类的实例对象中的static修饰的属性都变。对静态类到对静态方法和静态属性 static的初步理解

如果你想用Test类中的方法或者属性就要先实例化new 一个,不管你new 了多少个Test的实例,一旦类属性变了,所有的实例里面的这个static修饰的类属性就都变了

关于什么用我的初步理解,就是你这个类里面要用一个方法,正好别的同级别的类里面都没有,你又不想这个方法影响程序其他地方(别的类无法调用这个Test类中的静态内部类T)。