静态数据成员

  用static来声明静态成员,它是类的一部分,有该类中的所有对象共同使用和维护,实现类中数据的共享(静态区),要受private控制符影响。

非静态数据成员

  类的每个实例都有一份拷贝(动态区)。

从内存的角度去看

  类的静态成员(数据成员和函数成员)为类本身所有,在类加载的时候就会分配内存,可以通过类名直接访问
  非静态成员(数据成员和函数成员)属于类的实例所有,所以只有在创建类的实例的时候才会分配内存,并通过实例去访问。
  类的静态成员在类加载的时候就已经分配内存,而此时类的非静态成员尚未分配内存,访问内存中不存在的东西自然会出错。

注意

  类的静态数据成员是静态存储,它是静态生存周期,必须进行初始化。静态数据成员的初始化在类体外进行,前面不加static以免与一般静态变量或者对象混淆。

静态数据成员与非静态数据成员相关推荐

  1. 浅谈 JAVA中静态初始化块和非静态初始化块的区别

    众所周知在JAVA编程语言中有两种初始化块: 静态初始化块 非静态初始化块 他们到底有什么区别呢?今天就浅谈一下JAVA中静态初始化块和非静态初始化块的区别 静态初始化块 定义: static{} 执 ...

  2. JAVA错误:无法从静态上下文中引用非静态变量 this

    新学习:构造方法的重载,给成员变量赋值 错误代码: class Student {public static void main(String[] args) {Person p = new Pers ...

  3. 静态代码块、非静态代码块、构造函数三者执行顺序

    主要探讨一下关于静态代码块,非静态代码块,构造函数的执行顺序. 如有错误,欢迎指出. 首先: 静态成员变量和静态代码块的优先级是一样的,先定义的先执行. 在创建一个对象的时候会执行非静态代码块和构造函 ...

  4. java静态代码块与非静态代码块比较

    得出结论1:非静态代码块不会在调用方法与成员时执行. 结论2:非静态代码块在创建实例时执行 结论3:非静态代码块每次创建实例时执行,而静态代码块只执行一次 结论4:静态代码块优先非静态代码块优先构造函 ...

  5. 静态代码块、非静态代码块、构造函数执行顺序

    静态代码块.非静态代码块.构造函数执行顺序 /*** 类的实例化顺序,静态代码块.非静态代码块.构造函数.* @author MING*/ class Person {static String na ...

  6. 静态方法:无法在静态上下文中引用非静态

    如上是经典的Fobonacci递归算法: public class Fibonacci {public static void main(String []args){int x = f(6);Sys ...

  7. shaderTextView 闪动文字,static{}(静态代码块)与{}(非静态代码块)的异同点

    目录 shaderTextView  闪动文字 static{}(静态代码块)与{}(非静态代码块)的异同点 shaderTextView  闪动文字 package com.example.zhan ...

  8. java中代码块之静态代码块和非静态代码块

    一.代码块: 语法:使用{}包裹的,可以在{}中写代码. 修饰符:static 或者不修饰. static修饰的为静态代码代码块. 格式: //静态代码块,随着类的加载児执行static{System ...

  9. java 代码块:静态代码块和非静态代码块

    main方法是程序的入口,加入没有main方法程序无法启动,但是main方法不是第一个执行的. 我认为:在这个类加载时,编译器会找到main方法,从这里开始运行,但是当你把这个类加载的时候,静态代码块 ...

  10. 静态代码块和非静态代码块的区别

    摘自原文 小结: 1.静态代码块是在类加载时自动执行的,非静态代码块在创建对象自动执行的代码,不创建对象不执行该类的非静态代码块. 顺序: 静态代码块-->非静态代码块-->类构造方法. ...

最新文章

  1. 给现有MVC项目增加Web API支持
  2. 车辆检测--A Closer Look at Faster R-CNN for Vehicle Detection
  3. #pragma once 是什么意思?
  4. POJ 2749 Building roads 2-sat+二分答案
  5. 【程序员必看】如何用Python从0开始创建一个区块链?
  6. [问题已处理]-[jenkins]-Jenkins 反向代理有误
  7. TIS教程01-安装
  8. 区别 (function($){...})(jQuery)、$(function(){ })和$.fn
  9. canvas简单五子棋
  10. php rsa加密乱码_PHP RSA密文过长加密解密 越过1024的解决代码
  11. JDBC 与 JNDI 这两种连接方式 区别
  12. 配置主机间信任的一个简单办法
  13. 中国农田生产潜力数据集
  14. 单链表---建立基本学生信息管理系统
  15. java7 完整版_21天学通Java 第7版 ([美]罗格斯-卡登海德) 中文pdf完整版[23MB]
  16. 计算机密码突然不正确,win10开机密码明明正确,win10密码突然不对了
  17. 网页qq邮箱链接html,使用QQ邮箱打开网页上的电子邮件链接
  18. 亲测美团打车聚合服务:要做出行服务的天猫?
  19. 图像处理的相关数学知识
  20. MIT线性代数笔记二 矩阵消元

热门文章

  1. mac os系统详解
  2. 政务中心3D室内导航系统
  3. 三国志2霸王的大陆7个君主的战力
  4. HelloWorld-文本文档记事本、dos命令运行Java语言
  5. html input 禁止输入中文
  6. 晋升职称考计算机,今年晋升职称计算机考试报名开始
  7. java鼠标js触发事件吗,JavaScript常见鼠标事件与用法分析
  8. SQL注入绕过关键词过滤的小技巧及原理(union select为例)
  9. 信用卡逾期成黑户,不良记录会背一辈子吗?
  10. 网络漫画爬虫:抓取漫画章节和图片