staticint和int有什么区别(c语言static int与int的区别)
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:作用域在函数内,能够作为某特定种类的值中任何一个的保留器。
参考资料来源:百度百科-静态变量
参考资料来源:百度百科-变量