java静态方法和非静态方法的区别
java静态方法和非静态方法的区别
nodaoliJava的方法主要分三类
1.构造方法
2.非静态方法(普通方法/实例方法)
3.静态方法(类方法)
静态方法和非静态方法的区别(调用对象、引用变量不同)
静态方法:使用static关键字修饰的方法,如下图
静态方法
静态方法属于类,就是说可以直接通过类名.方法名调用的方法(静态属性也可以通过类名调用)
可以:调用静态方法,引用类变量(即,static修饰的变量)。
不可以:调用非静态方法,引用类变量,使用super
和this
关键字
非静态方法
方法属于对象,必须new一个对象出来,再通过对象调用
比如Scanner的nextLine方法
1 | Scanner scanner = new Scanner(System.in); |
可以:调用静态方法/普通方法,引用类变量和成员变量,使用super
和this
关键字。
调用区别
静态方法可以直接调用,类名调用和对象调用。(类名.方法名 / 对象名.方法名)
但是非静态方法只能通过对象调用。(对象名.方法名)
静态变量的好处
1.属于类级别的,不需要创建对象就可以直接使用.
2.全局唯一,内存中唯一,静态变量可以唯一标识某些状态.
3.在类加载时候初始化,常驻在内存中,调用快捷方便.
应用场景:
1.静态方法最适合工具类中方法的定义;比如文件操作,日期处理方法等.
2.静态方法适合入口方法的定义;如单例模式,因为从外部拿不到构造函数,所有定义一个静态的方法获取对象非常有必要.
3.静态变量适合全局变量的定义.(如布尔型静态成员变量做控制符)
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果