Java -暂时不好解释的现象

一 Java 给方法传入不同的参数类型(参数本身抑或是参数的成员变量)会不会改变本身的参数的值?

public class Main {
 
	private static void getMiddleOne(boolean b, Boolean boo, Boolean[] arr){
		b = true;  //形参,不会改变原有值
		boo = new Boolean(true);  //引用变量的直接操作相当于值传递,不会改变原来的引用变量
		arr[0] = true;  //引用变量的属性的操作,会改变原有引用的属性,相当于传址调用
	}
	
	//测试
	public static void main(String[] args) {
		boolean b = false;
		Boolean boo = new Boolean(false);
		Boolean[] arr = new Boolean[]{false};
 
		getMiddleOne(b, boo, arr);
		
		System.out.println(b);  
		System.out.println(boo.toString());
		System.out.println(arr[0]);
 
		/**
		 * output:
		 * 		false
		 * 		false
		 *		true
		 */
	}
}

二 抽象方法不能被static修饰

三 一个Java文件中只能有一个public修饰的类
https://blog.csdn.net/qq_17616169/article/details/72920346

猜你喜欢

转载自blog.csdn.net/Yolandera/article/details/82932873