Java基本语法| 静态方法&非静态方法

本文详细阐述了静态方法和非静态方法在调用方式、生命周期以及使用场景上的区别。静态方法在类加载时即可调用,不依赖于对象,而普通方法必须通过对象实例调用。静态方法无法访问非静态成员,反之则可以。了解这些差异对于理解和优化代码结构至关重要。
摘要由CSDN通过智能技术生成

静态方法&非静态方法

方法整理上主要分为三种:

  1. 构造方法
  2. 非静态方法(实例方法/普通方法):不含有static关键字修饰的普通方法,又称为实例方法,成员方法。
  3. 静态方法(类方法):由static关键字修饰的方法,又称类方法、属于类,不属于对象,在实例化之前就可以通过【类名.方法名】静态调用。

静态方法和非静态方法的区别

1. 调用对象、引用变量不同

  • 在静态方法中:
    • 可以调用静态方法;
    • 不能调用非静态方法;
    • 可以引用类变量(即,static修饰的变量);
    • 不可以引用成员变量(即,不是static修饰的变量);
    • 不能使用super和this关键字。
  • 在非静态方法/普通方法中:
    • 可以调用普通方法;
    • 可以调用静态方法;
    • 可以应用类变量和成员变量;
    • 可以使用super和this关键字。

2.调用方法不同

  • 静态方法:可以直接调用,类名调用和对象调用。类名.方法名/对象.方法名
  • 普通方法:只能通过对象调用。对象.方法名

3.声明周期不同

  • 静态方法:与相应的类同样长,静态方法和静态变量会随着类的定义而被分配和装载入内存中,一直到线程结束,静态方法和变量才会被销毁;
  • 普通方法:与类的实例化对象的生命周期相同,只有当类实例化了一个对象,非静态方法才会被创建,而当这个对象被销毁时,非静态方法也马上被销毁。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值