java中类变量和实例变量的实质区别?

createh54周前 (02-18)技术教程21

类变量和实例变量的区别

相对于static(静态的)或说类的, 本章开始提到的都是instance(实例的)或说对象的。 每个对象都有自己的一份儿对象域或实例域,相互之间没关系, 不共享。 我们可以从对象中访问实例变量。

类变量或说静态变量跟实例变量是不一样的,不管创建了多少个对象,系统只为每个类变量分配一次存储空间。系统为类变量分配的内存是在执行main方法时马克-to-win, 就是在程序最最开始的时候(见下面StaticDemo的例子)。所有的对象共享了类变量。可以通过对象或者通过类本身来访问类变量。

java静态方法和实例方法的区别

静态方法(方法前冠以static)和实例方法(前面未冠以static)的区别

调用静态方法或说类方法时,可以使用类名做前缀,也可以使用某一个具体的对象名;通常使用类名。

static方法只能处理static域或静态方法。实例方法可以访问实例域, 静态域或静态方法, 记住都行。
本章源码

class StaticTest {
static int a = 4;
static int b = 9;
static void call() {
/*下一句是错误的,因为静态的不能调用实例的方法。*/
//callins();
System.out.println("a = " + a+"马克-to-win"+Test.c);//静态方法可以访问静态属性
}
void callins() {
call();
System.out.println("a = " + a+"实例马克-to-win"+Test.c);//静态方法可以访问静态属性

篇幅有限更多请见扩展链接:
http://www.mark-to-win.com/tutorial/java_2_StaticInstanceMethodDifference.html

相关文章

Java变量_java变量名命名规则

变量如果按照大部分的书上来说,在程序运行过程中可以改变的量称之为变量。常量就是程序运行中不可改变的量就是常量。变量准确的来说就是存储的名称,如果你要把数据存到内存里,你就需要选择一个数据类型,而且还要...

Java SE 基础教程—JDK的下载安装及环境变量的配置(win10详细版)

1.什么是JDKSun公司提供了一套Java开发环境,简称JDK(Java Development Kit) 它是整个Java的核心,其中包括Java编译器、Java运行工具、Java文档生成工具、J...

初识Java—(二十四)Java类成员_java 类

static关键字修饰的成员就是类成员,其中有类变量Field、类方法、静态初始化块。static修饰的类成员属于整个类,不属于单个实例。6.3.1 理解类成员在Java类里只能包含Field、方法、...

Java代码保护方法之一:ProGuard_java如何保护源码

ProGuard是一个开源的Java程序代码压缩、优化和混淆工具,是目前Java代码保护最常用的工具。“瘦身高手”+“优化小能手”+“混乱大师”。1、压缩(瘦身高手):检查并删除没有被使用的类、字段、...

python变量_python变量命名规则

什么是变量?变量是存放数据值的容器。Python 没有声明变量的命令。首次为其赋值时,才会创建变量。用现实世界来解释一下什么是变量,比如我要盛一碗小米粥,这个时候我需要一个碗才能完成这件事情,这个碗就...