staticint和int有什么区别(c语言static int与int的区别)

http://www.itjxue.com  2023-01-29 01:30  来源:未知  点击次数: 

int x; static int x; const int x; 它们之间有什么区别

int

x

是实例变量:只是定义了一个int类型的引用并没有分配地址,在使用的时候才会被分配内存地址,而且不同的调用,会产生不同的x。

static

int

x

是静态变量:静态变量是在

程序被调用之前,已经分配了内存用于存储,所以在程序的使用过程中,对不同实例对象的对于x的操作都是指的是同一个x,这是因为它们指向的都是统一内存地址,自然也就是操作的同一个。这在java语言里面体现的很好,尤其是面向对象的编程。

const

int

x

是常量的定义:x在程序中不可改变,也即,不能再程序里面再次赋值,否则将产生错误。

希望我的解释能够帮助你

Java语言中“int”、“public”、“static int ”有什么区别?

首先说一下int 和public int的区别:

这个问题是作用域的问题,就是说这个变量的作用范围是多大。

public class Text{int a ;public void toString(){......}

对于这个int,他是该类的成员属性,因为没有访问修饰符,所以java默认认为他是default,也就是只有在该类中能访问,其他地方不能访问。和private相似,区别不太清楚。

public class Text{

public int a;

.....

对于这个int,由于有public修饰,所以这个变量对于所有类都是可见的,没有访问的限制。

static,其实就是一个静态变量的意思。用static修饰的变量又叫类变量,他有很多特性,现在列出来。

public static int a,对于这个变量,首先他不需要一个实例化对象,也就是说不需要new 对象就可以用类名+变量名来访问这个变量,当然要看访问修饰符的限制。

其次,这个变量是一个全局的变量,就是这个对象被该类的其他所有对象共有。

比如:

public class Text {

public static int a = 1;

public static void main(String[] args){

Text.a = 2; //这个就是static的作用,不需要new对象就可以访问。

Text aa = new Text();

Text bb = new Text();

//new两个不同的对象

aa.a = 3; //这个就是public的作用,说明该成员变量为对外可见。其实这么做 并不好

//现在我们想想,bb.a是多少呢?

System.out.println(bb.a);

结果就是3,因为static修饰的变量时类变量,是被该类所有对象共有,所以你在aa中修改的a的值,而aa和bb是共用这个a变量的。所以bb的a值也再变化。

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

java中 static int 和 int 的区别

区别在于虚拟机里面

static int, 只有在第一次装载的时候才会去初始化,而且早于int 变量所在类;

int a, 只有在new 类变量的时候才能初始化

差别2

static int a, ----可以直接调用,也就是ClassA.a

而int a , 必须完成所在类实例化才能调用,也就是必须

ClassA temp = new ClassA();

temp.a....

static int a 和 int a是什么区别

一、变量类型不同

1、static int a:定义了一个静态的整型变量a。

2、?int a:定义了一个整型变量。

二、数据共享方式不同

1、static int a:静态变量不单单仅仅只是属于某一个对象的,而是属于类的,所以静态变量会被该类的所有对象共享,也就是说所有该类的对象使用的是同一份数据。

2、?int a:仅仅变量a自己享有一份数据。

三、变量访问方式不同

1、static int a:通过类名.静态成员变量名方式访问。

2、?int a:直接使用对象名a。

参考资料来源:百度百科-static

作为全局变量,static int a和int a是一样的吗

1、影响作用域

static int i; /* i只在本文件中可见,即你不能通过extern引用 */

int i; /* i可在别的文件中通过extern引用 */

2、影响存储的区域

static int i; /* 编译器在编译时,会将其存储在静态存储区 /

int i; /* 会存储在全局数据区 */

但是,二者在编译时,如果不明写初始化,编译器会自动把二者初始化为0,这点二者相同。

static int a 和 int a是什么区别

一、主体不同

1、static int a :变量a被定义为静态整型变量。

2、int a:定义为整型变量。

二、可变性不同

1、static int a :其值就会在编译时设定,并且无法在运行时改变。

2、int a:值在运行时设定,可以随时改变。

三、作用域不同

1、static int a :作用域只限于文件内。

2、int a:作用域在函数内,能够作为某特定种类的值中任何一个的保留器。

参考资料来源:百度百科-静态变量

参考资料来源:百度百科-变量

(责任编辑:IT教学网)

更多

推荐Javascript/Ajax文章