Java面向对象--------static关键词

本文解析了静态成员变量与静态方法在Java中的作用,讲解了如何区分静态变量、实例变量,以及static在工具类中的最佳实践。涵盖静态代码块、访问限制和工具类的示例,适合初学者和进阶开发者了解Java静态特性。

static关键字

在类中用static声明的成员变量为静态成员变量或者叫做类属性 类变量(”对象.类属性“来调用,不过一般用“类名.类属性”static变量置于方法区中

用static声明的方法为静态方法:

不需要对象,就可以调用(类名.方法名)

在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非static成员,静态方法不能以任何方式引用this和super关键字

public class Teststatic{
int a ;
static int witch;
static void gg(){

System.out.println("gg");
}
void tt(){
System.out.println("tt");
}
public static void main(String[] args){
Teststatic hi = new Teststatic();
Teststatic.witch = 2;
Teststatic.gg();
hi.gg();//通过引用也可以访问static变量或static方法不过一般还是使用类名.static成员名来访问.
gg();
}

}

static关键词的作用:

static是静态的意思,可以修饰成员变量,表示该成员变量只在内存中存储一份,可以被共享访问修改

public class User{
//成员变量
public static int onlineNumber = 161;//静态成员变量

private String name;//实例成员变量
private int age;//实例成员变量

}

成员变量可以分为2类

1.静态成员变量(有static修饰:属于类内存中加载一次)常表示如在线人数信息 等需要被共享可以被共享访问

调用:类名.静态成员变量(推荐)对象.静态成员变量(不推荐)

2.实例成员变量(无static修饰存在于每个对象中)常表示姓名name 年龄 age 等属于每个对象的信息

调用:对象.实例成员变量

Static的修饰方法:

1.表示对象自己的行为的,且方法中需要访问实例成员的,则该方法必须申明成实例方法
2.如果该方法是以执行一个通用功能为目的的或者需要方便访问,则可以申明成静态方法

Static的应用:工具类

工具类是什么?有什么好处?

1.内部都是一些静态方法,每个方法完成一个功能

2.一次编写,处处可用,提高代码的重用性

工具类有什么要求?

1.建议工具类的构造器私有化处理

2.工具类不需要创建对象

示例:

public class ArrayUtils{
private ArrayUtils(){
//构造器私有化
}
public static String toString(int[] arr){  // 静态方法 工具方法
if(arr != null){
String result = "[";
for(int i = 0; i < arr.length ; i++){

result t = (i == arr.length -1)?arr[i]:arr[i]+",";

}
result += "]";
return result;

}



}

}

static 访问注意实现

1.静态方法只能访问静态的成员,不可以直接访问实例成员

2.示例方法可以访问静态的成员,也可以访问实例成员

3.静态方法中是不可以出现this和super关键字的

static修饰与非static修饰的区别:

static非private修饰非private static修饰
属性类属性  类变量实例属性 实例变量
方法类方法实例方法
调用方式类名.属性
类名.方法()对象.属性
对象.属性对象.方法
对象.方法
归属单个对象

总结:

 – static变量:只有一份,属于类,可以类名. Static变量

– static方法: 类名. Static方法,不能出现this和super

– static代码块:只执行一次,最早执行的(类第一次调用)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Curran-java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值