JAVA基础学习2

 

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 是无法编译通过的。

写两句?