文章目录
- 前言
- 一、static是什么?
- 二、static修饰的特点
- 三、static关键字注意事项
- 四、代码演示
- 1.类共享(Student类与Test1Static类不在一起,为了直观代码)
- 2.static优加载和调用
- 总结
前言
随着编程语言的不断发展,java学习这门技术也越来越重要,本文就介绍了java学习的基础内容。
一、static是什么?
static称为静态修饰符,它可以修饰类中的成员或者方法。被static修饰的成员称为静态成员,方法称为静态方法。
二、static修饰的特点
1.被类的所有对象共享,是我们判断是否使用静态关键字的条件
2.随着类的加载而加载,优先于对象存在,对象需要类被加载后,才能创建
3.可以通过类名调用(推荐),也可以通过对象名调用
三、static关键字注意事项
1.静态方法只能访问静态的成员
2.非静态方法可以访问静态的成员,也可以访问非静态的成员
3.静态方法中是没有this关键字 (从static修饰的特点来看,static是和类一起加载到虚拟机的,在对象之前,而this关键字是创建对象之后才可以使用,有着前后顺序)
四、代码演示
1.类共享(Student类与Test1Static类不在一起,为了直观代码)
代码如下(示例):
public class Student {
String name;
int age;
static String school;
public void show() {
System.out.println(name + "..." + age + "..." + school);
}
}
public class Test1Static {
/*
1. 被static修饰的成员, 会被该类的所有对象所[共享]
*/
public static void main(String[] args) {
Student stu1 = new Student();
stu1.name = "张三";
stu1.age = 23;
stu1.school = "清华大学";
stu1.show();
Student stu2 = new Student();
stu2.name = "李四";
stu2.age = 25;
stu2.show();
}
}
张三...23...清华大学
李四...25...清华大学
我们可以看到此时没有对stu2.school进行赋值操作,也输出了“清华大学”
所以被static修饰的school,会被Student这个类的所有对象共享。
2.static优加载和调用
public class Student {
String name;
int age;
static String school;
public void show() {
System.out.println(name + "..." + age + "..." + school);
}
}
public class Test1Static {
/*
1. 被static修饰的成员, 会被该类的所有对象所[共享]
*/
public static void main(String[] args) {
Student .school = "清华大学";
Student stu1 = new Student();
stu1.name = "张三";
stu1.age = 23;
//stu1.school = "清华大学";
stu1.show();
Student stu2 = new Student();
stu2.name = "李四";
stu2.age = 25;
stu2.show();
}
}
我们可以很明显的看到school在创建对象之前就可以进行赋值操作了,并且通过了类名.的方式,因为此时对象还没有创建出来,同时也更加推荐这样使用(区分静态成员和实例成员)
总结
以上就是今天要讲的内容,本文仅仅简单介绍了static的使用