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

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

类变量和实例变量的区别

相对于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、方法、...

4.Java变量_java 变量

变量(Variables )每个程序都使用值。变量允许您通过将值分配给一个名称来存储值。该名称可用于在程序的后面引用该值。例如,在游戏开发中,您可以使用一个变量来存储玩家得分的点数。每个变量都有一个类...

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

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

Java基础知识总结_java基础知识概括

一、Java 在当今的软件开发领域,Java 无疑占据着举足轻重的地位。无论是开发大型企业级应用、Web 应用,还是安卓移动端应用,Java 的身影无处不在。比如,我们日常使用的电商 APP,其后台可...