java--初始化和清理
阿新 • • 發佈:2019-02-16
區別過載方法可通過‘:
1.引數不同
2.引數相同,順序不同
過載的引數是基本型別時,可提升也可窄化轉換(char型略不同,升至int型)
package com.learn; public class demo06 { public static void main(String[] args) { Dog dog=new Dog(); float f=0; double b=0; dog.bark(5,f); dog.bark(f,5); dog.bark(b); } } class Dog{ public void bark(int x,float f){ System.out.println("barking"); } public void bark(float f,int x){ System.out.println("howling"); } public void bark(double x){ System.out.println("wang"); } }
3.如果以返回區分過載方法,當不關心返回值時,有時會忽略返回值(此時行不通)
this關鍵字
通過this呼叫方法的返回物件
ps:同一個類的另一個方法不必使用this也可呼叫package com.learn; public class demo07 { private void methodOne(){ new demo07().methodTwo(); this.methodTwo(); System.out.println("methodOne"); } private void methodTwo(){ System.out.println("methodTwo"); } public static void main(String[] args) { new demo07().methodOne(); } }
在構造器中呼叫構造器
package com.learn;
public class demo08 {
static float f=0;
demo08(int x){
this(f);
System.out.println(1);
}
demo08(float f){
System.out.println(2);
}
public static void main(String[] args) {
demo08 demo08=new demo08(1);
}
}
ps:this呼叫構造器必須在第一行,且只能呼叫一次