java 静态static

静态:static
用法:是一个修饰符,用于修饰成员(成员变量和成员函数)
当成员被静态修饰后,就多了一个调用方法,即除了可以被对象调用以外,还可以直接被类名调用。
调用形式:类名.静态成员
          类名.静态函数

static的特点:
1,随着类的加载而加载。
  也就是说:静态会随着类的消失而消失。说明它的生命周期最长。
2,优先于对象的存在
明确一点:静态是先存在的,对象是后存在的。
3,静态成员或静态变量被所有对象所共享
4,可以直接被类名调用

实例变量:也称成员变量
类变量:静态成员变量、也称静态变量


实例变量(成员变量)和类变量(静态变量)的区别:
1,存放位置不同
成员变量随着对象的建立而存在堆内存中;
静态变量随着类的加载而存在于方法区中;方法区也被称为共享区、数据区。
2,生命周期不同
类变量的生命周期最长,随着类的加载而加载,随着类的消失而消失。
成员变量的生命周期随着对象的消失而消失。


静态使用注意事项:
1,静态方法只能访问静态成员,因为静态产生的比较早,对象产生的比较晚,非静态变量随着对象地产生而产生;
   非静态方法既可以访问静态也可以访问非静态。但是当确定某一对象已经建立后,可以访问该对象的成员和方法。
2,静态方法中不可以定义this,super关键字。
因为静态优先于对象存在,而this和super关键字都是代表某一对象的,所以静态方法中不能出现this和super关键字。
3,主函数是静态的。


静态的利弊:
利:对对象的共享数据进行单独空间的存储,节省空间,没有必要每一个对象中存储一份;可以直接被类名调用。
弊:生命周期过长,访问出现局部性(局部虽好,只能访问静态。)
class Person 
{
	String name;
	static String country="CN";
	public static void show(){
		System.out.println(country+"::::");
	}
}
class StaticDemo
{
	public static void main(String[] args) 
	{
		//System.out.println(Person.country);
		//Person.show();
		Person p1 = new Person();
		System.out.println(p1.name);
	}
}

可以使用 Nacos 官方提供的 Java SDK 和 Nacos 配置客户端来读取 Nacos 配置中心中的配置。假设你已经引入了 Nacos 客户端依赖,可以按照以下步骤进行静态方法读取: 1. 创建 Nacos 配置客户端 ```java import com.alibaba.nacos.api.NacosFactory; import com.alibaba.nacos.api.config.ConfigService; import com.alibaba.nacos.api.exception.NacosException; public class NacosConfigClient { private static final String SERVER_ADDR = "localhost:8848"; // Nacos 服务器地址 private static final String DEFAULT_GROUP = "DEFAULT_GROUP"; // 配置分组 private static final long TIMEOUT_MS = 5000; // 请求超时时间 private static ConfigService configService; static { try { configService = NacosFactory.createConfigService(SERVER_ADDR); } catch (NacosException e) { e.printStackTrace(); } } public static ConfigService getConfigService() { return configService; } } ``` 2. 读取配置 ```java import com.alibaba.nacos.api.config.ConfigService; import com.alibaba.nacos.api.exception.NacosException; public class NacosConfigUtil { private static final String DATA_ID = "example"; // 配置 ID public static String getConfig() { try { ConfigService configService = NacosConfigClient.getConfigService(); return configService.getConfig(DATA_ID, DEFAULT_GROUP, TIMEOUT_MS); } catch (NacosException e) { e.printStackTrace(); } return null; } } ``` 在上面的示例中,我们通过 `NacosConfigClient` 类的静态方法获取了一个 Nacos 配置客户端实例,并在 `getConfig()` 方法中使用该客户端来读取指定配置 ID 的配置内容。你只需要将 `DATA_ID` 修改为你自己的配置 ID 即可使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值