Java——类变量和实例变量的区别
成员变量:把类内、方法体外定义的变量称为成员变量。
Java中的成员变量分为两种:
一是没有static修饰的,这些成员变量是对象中的成员,称为实例变量。
二是有static修饰的,称为类变量(静态变量)。
静态变量(类变量)具备以下特点:
- 随着类的加载而加载
- 优先于对象存在
- 被所有对象所共享
- 可以直接被类名调用
类变量和实例变量的区别是:
1,存放位置。
类变量随着类的加载而存在于方法区中。
实例变量随着对象的建立而存在于堆内存中。
2,生命周期:
类变量生命周期最长,随着类的消失而消失。
实例变量生命周期随着对象的消失而消失。
Java中方法区的位置分三种情况:
1、 java7之前,方法区位于永久代(PermGen),永久代和堆相互隔离,永久代的大小在启动JVM时可以设置一个固定值,不可变;
2、 java7中,static变量从永久代移到堆中;
3、 java8中,取消永久代,方法存放于元空间(Metaspace),元空间仍然与堆不相连,但与堆共享物理内存,逻辑上可认为在堆中
class Person
{String name;//成员变量,实例变量。随着对象的创建而存在于堆内存中static String country = "CN";//静态的成员变量,类变量。随着类的加载而存在于方法区中public static void show(){System.out.println("::::");//this.haha();//静态方法中不能出现this关键字}public void haha(){System.out.println("hahaha...");}
}class StaticDemo
{public static void main(String[] args) {Person p = new Person();p.haha(); //对象调用成员方法Person.show();//类名调用静态方法,也可对象调用静态方法(不推荐)}
}
/*
hahaha...
::::
*/
Java——类变量和实例变量的区别相关推荐
- java 简述类变量和实例变量的区别
类变量也叫静态变量,也就是在变量前加了static 的变量: 实例变量也叫对象变量,即没加static 的变量: 类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到 ...
- Java中的类变量和实例变量的区别
类变量也叫静态变量,也就是在变量前加了static 的变量: 实例变量也叫对象变量,即没加static 的变量: 区别在于: 类变量和实例变量的区别在于:类变量是所有对象共有,其中一个对象将它值改变, ...
- 类变量,实例变量的区别以及类方法和实例方法的区别
一.类变量和实例变量的区别 1.类变量是属于是所有对象的,用static修饰,实例变量是属于某个对象的 2.类变量也叫静态变量,不需要通过创建实例就可以调用.而实例变量需要通过对象来访问,即需要创建对 ...
- 类变量和实例变量的区别:
类变量和实例变量的区别: 类变量是指一个类的变量,通常为静态变量,而实例变量通常是动态的,区别在于:类变量是所有对象共有,其中一个对象将它值改变,其他对象得到的也是改变后的结果:而实例变量容则属对象私 ...
- 类变量和实例变量的区别
类变量是类中的静态变量,是用static修饰的变量,实例变量就是类中的成员变量,没有用static修饰的. 类变量和实例变量的区别是:类变量是所有对象公有的,实例变量是对象私有的.当一个对象将类变量进 ...
- Java类变量和实例变量
0.写在开头 最近在回顾Java类和对象相关的知识,发现在类变量的定义这里有的地方说法不一样,在此写一些自己的思考,如有不对欢迎指正. 在15版本的机器工业出版社Java语言程序设计这本书中提到,一个 ...
- python类变量和实例变量的区别
先说结论: 1.类变量属于类所有,建议引用时使用类名引用,形如 cls.attr.也可以使用实例引用 self.attr. 直接修改类变量.各实例未自行修改类变量时,引用到的值都会改变 如果在实例中对 ...
- 【面向对象-05】什么是类变量、实例变量、以及区别
目录 一.类变量和实例变量的定义 二.类变量和实例变量的区别 三.代码体现 四.类变量在实际项目中的使用 一.类变量和实例变量的定义 |-成员变量:把类内.方法体外定义的变量称为成员变量. ...
- Java基础---类变量和实例变量
类变量和实例变量 成员变量:把类内.方法体外的变量称为成员变量. package com.chen.offer.BiliBili;/*** @author chenshimiao* @Email 16 ...
最新文章
- Java项目:智能制造生产管理平台(java+SSM+mysql+Maven+Easyui+JSP)
- CentOS7 下DNS的搭建
- NSLog的常用格式说明小释
- 使用python打印数字三角形_11届省赛python试题 H: 数字三角形
- 许昌市襄县机器人_襄城县机器人自动码垛机生产工厂批发销售
- 学python需要什么基础-学习Python需要哪些基础知识?
- jquery easyui 表单结合对话框
- PHP has encountered an Access Violation at
- 《C++程序设计实践》实验1
- notepad++ 将JSON压缩成一行与JSON格式化
- 应急卫星通信系统项目建设要求
- z世代消费力白皮书_LSPACE丨Z世代虽穷但买的态度你真的懂吗
- win10 pro 永久激活
- 自我觉察的心理测试软件,看见自己|自我觉察的11个妙招
- python人名独特性统计_荐第六章:组合数据类型练习[人名独特性统计]学习思考...
- lisp实心圆点怎么画_cad中怎么样画实心圆点
- 女人要男人真心还是现金?
- 某科技厅办公工作协同平台
- 大疆2018校招笔试题
- Flir Blackfly S 工业相机:自动曝光配置及代码
热门文章
- 从Excel中提取数据
- 港美股互联网券商系统建设
- Vue实现视频播放列表(一)——video.js组件的使用
- linux查看orc文件,ORC 文件扩展名: 它是什么以及如何打开它?
- 如果两个对象的哈希码相同则他们不一定相同,如果对象一致则哈希码一定相同
- GBase 8a 监控配置
- oppo人脸识别解锁黑屏_OPPO Find X人脸解锁如何设置?这四点事项要注意!
- linux编译安装nginx失败怎么办?排错思路及方法
- python质数判断代码_Python 质数判断
- 【洛古 P1315】 [NOIP2011 提高组] 观光公交