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

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


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

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

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

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

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


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值