Java中 int 与public static int 有什么区别呀?
发布网友
发布时间:2022-04-23 13:33
我来回答
共5个回答
热心网友
时间:2023-07-17 03:53
首先说一下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值也再变化。
}
}
热心网友
时间:2023-07-17 03:53
int表示整型变量
public和static都是修饰符
public表示这个字段可以在类或者对象的外部进行访问
static表示这个字段是个静态字段,不需要实例化即可访问
LS说的稍稍有点偏差
热心网友
时间:2023-07-17 03:54
public 是 访问控制符
static 是 常量修饰符
int 就是默认范围内有效。而且这是个成员变量。
public static int 就是 public范围内有效。而且是个静态变量。
热心网友
时间:2023-07-17 03:54
public static int 会在它所在的类装载时,就会给int分配空间。而int只会在对这个类进行实例化时,才会给int分配空间。
热心网友
时间:2023-07-17 03:55
public 访问控制,表示在类外面也可以访问的类内部的信息
static 表示不需要初始化就可以访问,实际是在所有new的类之前就分配给内存的。相当于全局的意思
int 表示整形。