java中静态方法和静态变量详解
2017-02-13 18:44
113 查看
//在类中,用static申明的变量为静态变量(静态变量跟字符串常量放在datesegment),它为该类的公共变量,在第一次使用时被初始化,对于该类的所有的对象来说,static成员变量只有一份
//静态变量两大引用方法:类名.变量/对象.变量
//静态方法跟静态变量用法相同
//注意:静态方法中不能访问非静态变量 非静态方法中可以访问静态变量
// 静态方法中不能定义静态变量 非静态方法中不能定义静态变量
//(static随着类的加载而被加载,是优先于对象的存在,也就是对象还没创建的时候已经存在了,static是类层次的,定义的属于成员变量,而在方法里面定义的变量是局部变量,不能大脚穿小鞋)
public class Cat {
private static int sid = 0;//定义一个静态变量
private String name;
int id;
Cat(String name) {
this.name = name;
id = sid++;//这里也是非静态方法中访问静态变量
}
public void info(){
System.out.println
("My name is "+name+" No."+id);
}
public static void main(String arg[]){
Cat mimi = new Cat("mimi");
Cat pipi = new Cat("pipi");
//两大访问静态变量的方法
Cat.sid = 100;//类名.变量
mimi.sid = 2000;//对象.变量
// id = 4; 这样写是错的,因为不能在静态方法中访问非静态变量
//static int y = 6;这样也是错的,因为不能在静态方法中直接定义静态变量
mimi.info();
pipi.info();
}
}
class Fj {
static int i = 1;
void fjt() {
i = 2;//这是可以的,因为在非静态方法中可以访问静态变量
//static int y = 7;这是错的,因为不能在非静态方法中直接定义静态变量
}
}
//静态变量两大引用方法:类名.变量/对象.变量
//静态方法跟静态变量用法相同
//注意:静态方法中不能访问非静态变量 非静态方法中可以访问静态变量
// 静态方法中不能定义静态变量 非静态方法中不能定义静态变量
//(static随着类的加载而被加载,是优先于对象的存在,也就是对象还没创建的时候已经存在了,static是类层次的,定义的属于成员变量,而在方法里面定义的变量是局部变量,不能大脚穿小鞋)
public class Cat {
private static int sid = 0;//定义一个静态变量
private String name;
int id;
Cat(String name) {
this.name = name;
id = sid++;//这里也是非静态方法中访问静态变量
}
public void info(){
System.out.println
("My name is "+name+" No."+id);
}
public static void main(String arg[]){
Cat mimi = new Cat("mimi");
Cat pipi = new Cat("pipi");
//两大访问静态变量的方法
Cat.sid = 100;//类名.变量
mimi.sid = 2000;//对象.变量
// id = 4; 这样写是错的,因为不能在静态方法中访问非静态变量
//static int y = 6;这样也是错的,因为不能在静态方法中直接定义静态变量
mimi.info();
pipi.info();
}
}
class Fj {
static int i = 1;
void fjt() {
i = 2;//这是可以的,因为在非静态方法中可以访问静态变量
//static int y = 7;这是错的,因为不能在非静态方法中直接定义静态变量
}
}
相关文章推荐
- Java中的构造方法、静态变量和静态方法(基础详解)
- 类加载器--java静态方法静态变量
- Java 中的 static 使用之静态变量·静态方法·静态初始化块
- JAVA的静态变量和静态方法(STATIC)与实例变量对比代码
- 5.Static ,protect,属性和方法,静态方法(static)和实例方法,JAVA的静态变量、静态方法、静态类
- Java 静态类、静态方法和静态变量
- 【java基础】17.10.7:static什么时候使用?有关静态变量(类变量)和静态方法(类方法)的解析
- Java中常量和静态变量区别详解
- java中的静态变量、静态方法与静态代码块详解与初始化顺序
- Java 之构造方法、静态变量及静态方法详解
- 基于Java class对象说明、Java 静态变量声明和赋值说明(详解)
- java中静态方法和静态变量的…
- Java静态方法和实例方法区别详解
- Java中文问题详解,底层编码解剖
- Java打包详解
- java打包详解
- 转载:Java中文问题详解,底层编码解剖
- 利用UML类图设计Java应用程序详解(二)
- 利用UML类图设计Java应用程序详解(一)
- Java中文问题详解