1. 程式人生 > >java--初始化和清理

java--初始化和清理

區別過載方法可通過‘:

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呼叫方法的返回物件

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();
	}
}
ps:同一個類的另一個方法不必使用this也可呼叫

在構造器中呼叫構造器

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呼叫構造器必須在第一行,且只能呼叫一次