static和非static的区别

如题所述

第1个回答  推荐于2018-03-22

不知道你说的什么区别,我总结了几个区别:

    作用在方法上,方法的区别:static方法属于类,不属于类的实例对象,而非static方法属于类的实例对象,不属于类,static方法不需要实例对象就可以通过类名调用,且static方法中不能有实例成员(即实例方法或实例变量),而非static方法中可以以后static成员(即static方法,和static变量)

    作用在变量上:static变量属于类,非static变量属于实例对象或者是局部变量,static变量可以用类名引用,而非static方法只能创建这个类的实例对象才能引用(即使用).

    作用在类上: static类中知只能有static成员,不能有非static成员,而非static类可以由static成员也可以有非static成员.

    总结,static修饰的方法,变量都属于该类本身,是该类所有,该类的实例也可以访问static修饰的成员,但是不同实例对象中访问的static成员是同一个(在同一程序中)...所以说static成员在一个程序中是独一无二的,他属于类,而类在程序中只能有一个类(可以由多个类的实例对象),所以程序中的static成员永远是同一个!

本回答被提问者和网友采纳

static方法和非static方法的区别
static方法是静态方法,没有static的是非静态方法。非静态方法访问静态或者非静态成员的方式是一样的,可以直接访问。静态(static)方法 可以直接类名。方法名调用 静态方法必须创建对象才能访问非静态成员。静态方法可以不创建对象,直接访问静态成员,也可以通过创建对象来访问。

static 全局变量 和非static全局变量的区别
1、static 全局变量称:静态外部变量或称静态全局变量。2、非static全局变量称:外部变量或称全局变量。3、区别是:用static声明的外部变量,只能供本文件内的函数调用,不能被其它文件的函数所调用。

static和非static的区别
作用在方法上,方法的区别:static方法属于类,不属于类的实例对象,而非static方法属于类的实例对象,不属于类,static方法不需要实例对象就可以通过类名调用,且static方法中不能有实例成员(即实例方法或实例变量),而非static方法中可以以后static成员(即static方法,和static变量)作用在变量上:static变量属于类,...

static方法和非static方法的区别
static方法:包含它的对象无需被创建就可以通过类名.方法名()来调用 而非static方法则要创建了它所处的那个对象后才能被调用

static全局变量与普通的全局变量有什么区别?
这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。由于静态全局变量的作用...

java里static变量和非static变量有什么区别
一个static变量单独划分一块存储空间,不与具体的对象绑定在一起,该存储空间被类的各个对象所共享。3.也就是说当声明一个对象是,并不产生static变量的拷贝,而是该类所有的实例对象共用同一个static变量。4.非static修饰的成员变量是在对象new出来的时候划分存储空间,是与具体的对象绑定的,该成员变量...

C#中static型变量和非static型变量有何不同
用static关键字符标识的程序元素是静态的,不用static标识的程序元素是非静态.两者的区别在于:静态的东西是在类型加载初始时初始化的,并且与类相关.非静态东西一般放在实例的构造函数中初始化,它是与特定类的实例相关的.

加了static的成员和没加static的成员有什么区别?
其实static意思是静态,可以修饰类、字段、属性、方法 标记为static的就不用创建实例对象调用了,可以通过类名直接点出来 比如C#控制台操作的Cancle类里面的成员就被标记为静态的,可以直接用Concle.直接点出来使用。 如果没有标记为静态就要通过创建实例对象来调用,比如说动态字符串StringBuilder就要new一个...

java中静态变量和非静态变量是怎么区分的?
全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式, 静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是...

c语言 数组的定义 加上static 和不加 有什么区别呢?
c语言中static关键字有两个作用,一是文件作用域,二是函数作用域。一、文件作用域 文件作用域关键字static的作用是,以static申明的全局变量、函数不得被其他文件所引用,例如:\/\/这是mystr.c文件的内容 include <string.h> static int num = 10;int mynum = 100;static int str_len(char *str...

相似回答