zoukankan      html  css  js  c++  java
  • 静态he非静态

    1.静态方法和非静态方法

    1、静态方法属于类所有,类实例化前即可使用;
    2、非静态方法可以访问类中的任何成员,静态方法只能访问类中的静态成员;
    3、因为静态方法在类实例化前就可以使用,而类中的非静态变量必须在实例化之后才能分配内存;
    4、static内部只能出现static变量和其他static方法!而且static方法中还不能使用this等关键字,因为它是属于整个类;
    5、静态方法效率上要比实例化高,静态方法的缺点是不自动进行销毁,而实例化的则可以做销毁;
    6、静态方法和静态变量创建后始终使用同一块内存,而使用实例的方式会创建多个内存。
    主要区别:静态方法在创建对象前就可以使用了,非静态方法必须通过new出来的对象调用。

    2.静态类和非静态类的区别

    静态类
               静态类和非静态类重要的区别是在于静态类不能被实例化,也就是说不能使用  new 关键字创建静态类类型的变量。使用static关键字来声明静态类,这样的意义在于:首先,它防止程序员写代码来实例化该静态类;其次,它防止在类的内部声明任何实例字段或方法。
    
     静态类的使用
    关键字:  static
    
    调用方式:< 静态类名.静态方法 >
    
    注意:   1.在静态类中只能访问静态成员;  2.在静态类中只能有静态成员;
    
    静态类的主要特性:
    1:仅包含静态成员。
    2:无法实例化。
    3:是密封的。
    4:不能包含实例构造函数。
    
    静态成员
    1:非静态类可以包含静态的方法、字段、属性或事件;
    2:无论对一个类创建多少个实例,它的静态成员都只有一个副本(体现在在A实例改变了某个静态变量的值将影响所有的实例);
    3:静态方法和属性不能访问其包含类型中的非静态字段和事件,并且不能访问任何对象的实例变量;
    4:静态方法只能被重载,而不能被重写,因为静态方法不属于类的实例成员;
    5:虽然字段不能声明为 static const,但 const 字段的行为在本质上是静态的。这样的字段属于类,不属于类的实例。因此,可以同对待静态字段一样使用 ClassName.MemberName 表示法来访问 const 字段;
    6:C# 不支持静态局部变量(在方法内部定义静态变量)。
  • 相关阅读:
    java 多线程 Callable -- 分段处理一个大的list 然后再合并结果
    java实现 比较两个文本相似度-- java 中文版 simHash 实现 ,
    spring 多线程 写入数据库 和 写入 xml文件
    爬虫入门 手写一个Java爬虫
    java web 入门级 开发 常用页面调试方法
    Java 递归调用 recursive 给一个参数 返回一大堆
    javaWeb 基础知识
    用 eclipse 创建一个简单的 meaven spring springMvc mybatis 项目
    【题解】【LibreOJ Beta Round #5】游戏 LOJ 531 基环树 博弈论
    【题解】Popping Balls AtCoder Code Festival 2017 qual B E 组合计数
  • 原文地址:https://www.cnblogs.com/gxlaqj/p/11698673.html
Copyright © 2011-2022 走看看