JAVA方法
Java 中只有值传递
Java 对于基本数据类型,会直接拷贝值传递到方法中;对于引用数据类型,拷贝当前对象的引用地址,然后把该地址传递过去,所以也是值传递。
static
被 static 修饰的方法被称为静态方法。
静态方法在访问本类的成员时,只允许访问静态成员
静态方法常被用于各种工具类、工厂方法类
final
被 final 修饰的方法不能被子类覆写(Override)
default
接口中被 default 修饰的方法被称为默认方法,实现此接口的类如果没 Override 此方法,则直接继承这个方法,不再强制必须实现此方法。
abstract
被 abstract 修饰的方法被称为抽象方法,方法不能有实体。抽象方法只能出现抽象类中
synchronized
synchronized 用于并发编程。被 synchronized 修饰的方法在一个时刻,只允许一个线程执行。
main 方法
Java 中的 main 方法是一种特殊的静态方法,因为所有的 Java 程序都是由 public static void main(String[] args) 方法开始执行。
变参方法
在方法声明中,在指定参数类型后加一个省略号 …
一个方法中只能指定一个可变参数,它必须是方法的最后一个参数
(同类型数量不定)
finalize() 方法
finalize 在对象被垃圾收集器析构(回收)之前调用,用来清除回收对象。
应该尽量避免使用 finalizer()
Finalizer 线程会和我们的主线程进行竞争,不过由于它的优先级较低,获取到的 CPU 时间较少,因此它永远也赶不上主线程的步伐。所以最后可能会发生 OutOfMemoryError 异常
覆写和重载
覆写(Override)是指子类定义了与父类中同名的方法,但是在方法覆写时必须考虑到访问权限,子类覆写的方法不能拥有比父类更加严格的访问权限。
子类要覆写的方法如果要访问父类的方法,可以使用 super 关键字
方法的重载(Overload)是指方法名称相同,但参数的类型或参数的个数不同。通过传递参数的个数及类型的不同可以完成不同功能的方法调用。
如果方法的参数完全相同,仅仅是返回值不同,Java 是无法编译通过的。