zoukankan      html  css  js  c++  java
  • 静态类的重要知识点

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

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

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

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

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

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

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

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

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

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

      什么时候用静态类?

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

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

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

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

    9、静态类的继承问题:

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

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

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

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

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

       (1)abstract:不能被实例化

       (2)sealed: 不能被继承。

  • 相关阅读:
    UVA 10564
    ARM GCC CodeSourcery 下载地址
    Linux Shell编程入门
    设计模式------Adapter(适配器)
    设计模式------STRATEGY(策略模式)
    对象创建型模式------Singleton(单例模式)
    设计模式------PROTOTYPE(原型),TEMPLATE(模板)
    对象创建型模式------Builder(生成器或建造者模式)(2)
    对象创建型模式------工厂模式
    effective c++(07)之为多态基类声明virtual析构函数
  • 原文地址:https://www.cnblogs.com/ityuanmanito/p/4040999.html
Copyright © 2011-2022 走看看