黑马程序员 静态类的基本重要知识点

---------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------

小结一下关于静态类的重要知识点:

1、调用静态方法的时候只能通过类名直接来调用,不能通过对象来调用。也就是说静态成员不需要实例化对象。

2、静态成员在整个程序推出时才才释放资源,所以可以在整个应用程序中用到静态成员,它相当于在共享数据。

3、静态类的构造函数,只会在第一次使用静态类之前调用执行,并且只会执行一次。

4、当给一个普通类添加静态字段后,系统会默认为该类生成一个静态构造函数。【静态构造函数不能有访问修饰符,并且不能够带参数】

5、静态类不能被实例化,并且不能被继承。

6、由于静态成员在整个程序推出时才释放资源,所以尽量避免写静态字段,一般只写静态方法。

7、静态类和普通类中的静态成员

   (1)静态类:一般都用作工具类,里面都是一些工具函数例如Math,Console,都是静态类。  静态类中只包括静态成员。

   (2)普通类中的静态成员:只能通过类名来访问,多个对象共享一个静态成员。静态方法中只能访问静态成员。

  什么时候用静态类?

答:一般情况下,当这个类是一个工具类,里面都是方法,为了让用户调用的时候方便,不需要实例化对象,可将此类直接标记为static的类,该类中只能包含静态成员,不能包含实例成员。

  什么情况下只需在一个普通类中编写一个静态成员,而这个类不能标记为static?

答:当这个类需要实例化的时候或者用到多态的时候(多态是必须能被继承的,而静态类是不能够被继承的)。这时如果类中的一个成员是所有对象共享的数据,这时候可以将该类中的这个成员标记为静态的,但是该类还是一个实例类。

8、静态方法或者静态变量创建后始终使用同一块内存(静态存储区),而使用实例方式则会创建多个内存。

9、静态类的继承问题:

    静态类不能被其他类继承。

    静态类不能继承自其他类,只能继承自Object类。

   静态类不能使用多态(本身就不能被继承)

   sealed:密封类,不能被继承      或   禁止子类重写父类的方法。

10、静态类的本质:abstract+sealde

   (1)abstract:不能被实例化

   (2)sealed: 不能被继承。

--------------------- <a href="http://www.itheima.com"target="blank">ASP.Net+Unity开发</a>、<a href="http://www.itheima.com"target="blank">.Net培训</a>、期待与您交流! ----------------------

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值