关键词static的作用和用法,static关键字的作用域
如何解决写爬虫IP受阻的问题?立即使用。
静态关键字的三个功能:
(推荐教程:java入门)
静态静态成员变量
静态静态成员方法
静态静态代码块
分析:
1.静态静态成员变量
注意:如果一个成员变量使用了static关键字,那么这个变量就不再属于对象本身,而是属于它的类。多个对象共享相同的数据。
代码示例:
让我们构建一个学生类,设置两个静态成员变量,room Classroom和idCounter。在main()方法中实例化两个学生对象,一个和两个,并且只将值赋给一个对象的房间。打印出来的时候,你会发现two.room和one.room的价值是一样的。
可以看出,因为room使用了static关键字,所以它属于类,不再属于对象本身,可以被多个对象共享。因为idCounter是一个静态变量,它只会被初始化一次,所以每创建一个对象id,它就加1。
公共类Demo01StaticField {
公共静态void main(String[] args) {
学生一=新生(郭靖,19);
学生二=新生(黄蓉,16);
One.room=101教室;
system . out . println( name: one . getname(),age:
One.getAge(),教室: one.room
,学号: one . getid());//姓名:郭靖,年龄:19,教室:101,学号:1。
system . out . println( name: two . getname()
,年龄: two.getAge(),教室: two.room
,学号: two . getid());//姓名:黄蓉,年龄:16,教室:101,学号:2。
}
}
公共课学生{
private int id//学生ID
私有字符串名称;//名称
私人年龄;//年龄
静弦室;//教室
private static int id counter=0;//学生ID计数器,每当创建新对象时,计数器
公共学生(){
this.id=idCounter
}
公共学生(字符串名称,整数){
this.name=name
this.age=年龄;
this.id=idCounter
}
public int getId() {
返回id;
}
public void setId(int id) {
this.id=id
}
//name和age的Getter和Setter方法同上id,省略。
}2.静态静态成员方法
解释:同样,如果一个成员方法使用了static关键字,那么它就变成了一个静态方法。静态方法不属于对象,而是属于类。
静态修改成员方法的优点:避免了新建对象的繁琐和资源消耗,可以被【类名】直接使用。方法名称]。
代码示例:
用成员变量、静态成员变量、成员方法和静态成员方法创建一个新的Myclass类。我们可以看到成员方法可以访问成员变量和静态变量。但是静态方法只能访问静态变量,不能访问非静态变量,不能使用这个关键字。使用这个类时,通过static关键字,您可以通过类名直接使用它,而无需创建对象。对于该类中的静态方法,可以省略类名。
公共类Demo02StaticMethod {
公共静态void main(String[] args) {
//非静态方法使用:1。首先创建对象
my class obj=new my class();
//2.然后就可以使用没有static关键字的方法了。
obj . method();
//对于静态方法,可以通过对象名或类名调用。
obj . method static();//正确,不推荐。这种写法也会被翻译成“类名。静态方法名”。
my class . method static();//正确,推荐
//对于该类中的静态方法,可以省略类名。
my method();
demo 02 static method . my method();//完全等效
}
公共静态void myMethod(){
System.out.println (own method!);
}
}
公共类MyClass {
int num//成员变量
static int numStatic//静态变量
//成员方法
公共void方法(){
System.out.println(这是一个普通的成员方法。);
//成员方法可以访问成员变量
system . out . println(num);
//成员方法可以访问静态变量
system . out . println(numStatic);
}
//静态方法
公共静态void methodStatic(){
这是一个普通的静态方法。);
//静态方法可以访问静态变量
system . out . println(numStatic);
//Static不能直接访问非static [key]
//system . out . println(num);//写错了
//静态方法中不能使用该关键字
//system . out . println(this);//写错了
}
}(学习视频推荐:java课程)
3.静态静态代码块
格式:
类公共类名{
静态{
//静态代码块的内容
}
}特点:第一次使用这个类时,静态代码块只执行一次,可以用来优化程序性能。大多数情况下,我们会把一些只会执行一次的初始化操作(初始化静态资源)的代码放在静态代码块中,比如加载配置文件等。注意:静态内容总是优先于非静态内容,所以静态代码块在构造方法之前执行。
公共类Demo04StaticCode {
公共静态void main(String[] args) {
人一=新人();
system . out . println( * * * * * * * * * * * * * * * * * * * * * );
//无论创建多少个人对象,静态代码块都只执行一次。
人二=新人();
}
}
公共类人员{
静态{
System.out.println(静态代码块执行!);
}
公共人物(){
System.out.println(构造函数执行!);
}
}执行结果:
以上是static关键字三个功能的详细介绍。更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。