关键词static :类变量、对象变量、类方法、对象方法

本文详细介绍了Java中的static关键字,包括其用于区分类成员和对象成员的作用。static关键字可以修饰变量、方法和内部类,使得它们属于类级别而不是对象级别。类变量和类方法可以直接通过类名访问,而对象变量和对象方法需要通过实例化对象来访问。在示例代码中,展示了如何在main方法中调用static成员和非static成员。
摘要由CSDN通过智能技术生成

关键字static用来区分成员变量、成员方法、内部类、初始化块是属于类还是对象的,有static修饰的成员属于类,否则属于对象。static关键字不能用来修饰方法中的局部变量。

1.类成员变量和对象成员变量

  • 类成员变量描述了该类的所有对象的共同特征。
  • 类成员变量相当于全局变量,为所有对象共享。
  • 可以直接通过 类.成员变量名 访问
  • 对象成员变量描述的是每个对象的独有特征。
  • 对象成员变量在堆内存中分配空间。
  • 在创建类对象后才能使用 对象名.成员变量 访问

2.类方法和对象方法

  • 类方法指有static修饰的成员方法
  • 可以通过 类名.方法名() 直接调用
  • 对象方法指没有用static修饰的方法,需要先创建该类的对象后再通过 对象名.方法名() 进行调用

3.静态语句块和非静态语句块

  • 静态语句块指有在类体中,方法外定义的有static修饰的语句块
  • 非静态语句块指在类体中,方法外定义的语句块。

4.此方法分别定义类变量、对象变量、类方法、对象方法,在main方法中演示如何调用
 

public class StaticTest1 {
		static String mystring = "hello";//定义了一个类变量,字符串hello
		int a=10;//定义一个对象变量a
		//类方法
		static void stacticMethod() {
			System.out.println("this is static method!");
		}
		//对象方法
		void nostaticMethod() {
			System.out.println("this is no static method!");
		}
		//主方法,程序入口
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//访问类方法
		StaticTest1.stacticMethod();//通过 类名.方法名 直接调用
		//访问对象方法
		StaticTest1 b=new StaticTest1();//先实例化一个对象
		b.nostaticMethod();//通过 对象名.方法名 间接调用
		//访问类属性
		System.out.println(StaticTest1.mystring);//通过 类名.变量名 直接访问
		//访问对象属性
		StaticTest1 se=new StaticTest1();//实例化一个对象
		System.out.println(se.a);//通过 对象.对象名 间接访问
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值