Java中的静态方法和非静态方法有很多区别,这些区别可以把它们分类为四个主要方面:定义、调用、访问权限和内存分配。
定义
静态方法是由静态关键字修饰的方法,它不能访问非静态成员变量和非静态方法,而非静态方法可以访问静态和非静态成员变量和方法。
调用
静态方法可以通过类名直接调用,而非静态方法只能通过对象来调用。
访问权限
静态方法可以被public、protected、private和default修饰,而非静态方法只能被public和protected修饰。
内存分配
静态方法属于类,它在类加载时就已经分配内存,并且只会被分配一次,而非静态方法是属于对象的,每次创建一个新的对象,就会分配一次内存。
Java中的静态方法和非静态方法有很多区别,这些区别主要体定义、调用、访问权限和内存分配四个方面。