静态数据成员与非静态数据成员
静态数据成员
用static来声明静态成员,它是类的一部分,有该类中的所有对象共同使用和维护,实现类中数据的共享(静态区),要受private控制符影响。
非静态数据成员
类的每个实例都有一份拷贝(动态区)。
从内存的角度去看
类的静态成员(数据成员和函数成员)为类本身所有,在类加载的时候就会分配内存,可以通过类名直接访问
非静态成员(数据成员和函数成员)属于类的实例所有,所以只有在创建类的实例的时候才会分配内存,并通过实例去访问。
类的静态成员在类加载的时候就已经分配内存,而此时类的非静态成员尚未分配内存,访问内存中不存在的东西自然会出错。
注意
类的静态数据成员是静态存储,它是静态生存周期,必须进行初始化。静态数据成员的初始化在类体外进行,前面不加static以免与一般静态变量或者对象混淆。
静态数据成员与非静态数据成员相关推荐
- 浅谈 JAVA中静态初始化块和非静态初始化块的区别
众所周知在JAVA编程语言中有两种初始化块: 静态初始化块 非静态初始化块 他们到底有什么区别呢?今天就浅谈一下JAVA中静态初始化块和非静态初始化块的区别 静态初始化块 定义: static{} 执 ...
- JAVA错误:无法从静态上下文中引用非静态变量 this
新学习:构造方法的重载,给成员变量赋值 错误代码: class Student {public static void main(String[] args) {Person p = new Pers ...
- 静态代码块、非静态代码块、构造函数三者执行顺序
主要探讨一下关于静态代码块,非静态代码块,构造函数的执行顺序. 如有错误,欢迎指出. 首先: 静态成员变量和静态代码块的优先级是一样的,先定义的先执行. 在创建一个对象的时候会执行非静态代码块和构造函 ...
- java静态代码块与非静态代码块比较
得出结论1:非静态代码块不会在调用方法与成员时执行. 结论2:非静态代码块在创建实例时执行 结论3:非静态代码块每次创建实例时执行,而静态代码块只执行一次 结论4:静态代码块优先非静态代码块优先构造函 ...
- 静态代码块、非静态代码块、构造函数执行顺序
静态代码块.非静态代码块.构造函数执行顺序 /*** 类的实例化顺序,静态代码块.非静态代码块.构造函数.* @author MING*/ class Person {static String na ...
- 静态方法:无法在静态上下文中引用非静态
如上是经典的Fobonacci递归算法: public class Fibonacci {public static void main(String []args){int x = f(6);Sys ...
- shaderTextView 闪动文字,static{}(静态代码块)与{}(非静态代码块)的异同点
目录 shaderTextView 闪动文字 static{}(静态代码块)与{}(非静态代码块)的异同点 shaderTextView 闪动文字 package com.example.zhan ...
- java中代码块之静态代码块和非静态代码块
一.代码块: 语法:使用{}包裹的,可以在{}中写代码. 修饰符:static 或者不修饰. static修饰的为静态代码代码块. 格式: //静态代码块,随着类的加载児执行static{System ...
- java 代码块:静态代码块和非静态代码块
main方法是程序的入口,加入没有main方法程序无法启动,但是main方法不是第一个执行的. 我认为:在这个类加载时,编译器会找到main方法,从这里开始运行,但是当你把这个类加载的时候,静态代码块 ...
- 静态代码块和非静态代码块的区别
摘自原文 小结: 1.静态代码块是在类加载时自动执行的,非静态代码块在创建对象自动执行的代码,不创建对象不执行该类的非静态代码块. 顺序: 静态代码块-->非静态代码块-->类构造方法. ...
最新文章
- 给现有MVC项目增加Web API支持
- 车辆检测--A Closer Look at Faster R-CNN for Vehicle Detection
- #pragma once 是什么意思?
- POJ 2749 Building roads 2-sat+二分答案
- 【程序员必看】如何用Python从0开始创建一个区块链?
- [问题已处理]-[jenkins]-Jenkins 反向代理有误
- TIS教程01-安装
- 区别 (function($){...})(jQuery)、$(function(){ })和$.fn
- canvas简单五子棋
- php rsa加密乱码_PHP RSA密文过长加密解密 越过1024的解决代码
- JDBC 与 JNDI 这两种连接方式 区别
- 配置主机间信任的一个简单办法
- 中国农田生产潜力数据集
- 单链表---建立基本学生信息管理系统
- java7 完整版_21天学通Java 第7版 ([美]罗格斯-卡登海德) 中文pdf完整版[23MB]
- 计算机密码突然不正确,win10开机密码明明正确,win10密码突然不对了
- 网页qq邮箱链接html,使用QQ邮箱打开网页上的电子邮件链接
- 亲测美团打车聚合服务:要做出行服务的天猫?
- 图像处理的相关数学知识
- MIT线性代数笔记二 矩阵消元