1. 程式人生 > >學習Java進階 day2

學習Java進階 day2

/*
class Car{
int num;
String color;
void run(){
System.out.println(color+":"+num);
}
}
class day2{
public static void main(String[] args){
Car car=new Car();
Car car1=new Car();
Car car2=new Car();
day2.show(car);
day2.show(car1);
day2.show(car2);

}
public static void show(Car car){  //為了提高程式碼的複用性,將不同物件作為方法引數進行變化
	//把匿名物件作為實際引數進行傳遞
	car.color="Blue";
	car.num=4;
	car.run();
}

}/
/

1.函式其實是一個最基本的封裝體。
2.類也是一個封裝體。
從以上兩點得出結論:
1.封裝提高了程式碼的複用性。
2.隱藏了實現細節,對外提供訪問方式,便於使用者呼叫。
舉例:機箱。隱藏了板卡裝置細節,對外提供了介面以及開關的訪問方式。
private私有是封裝的一種體現形式,並不是封裝。
封裝是隱藏實現細節。
/
/

建構函式的作用:對物件進行初始化。
建構函式在程式碼中的體現:
1.沒有返回值型別。
2.沒有返回值。。
3.名稱與類名相同。
只要定義一個類,類中預設有一個空引數的建構函式,是編譯器編譯時新增到class檔案中。
注意:如果在類中自定義了建構函式,那麼編譯器就不新增預設的空引數的建構函式。
原理:沒有定義建構函式,編譯器會新增物件的初始化過程,定義了建構函式就不添加了。

建構函式細節:
1.一個類中可以有多個建構函式,它們的存在是以過載方式體現的。
2.建構函式中可以有return語句,作用是結束函式。
3.建構函式可以用private修飾,但不能建立該類物件。
*/

/*
建構函式之間的呼叫:
給哪個物件初始化,通過this關鍵字記錄物件的地址,this(實參列表),就會呼叫相應的建構函式。
哪個物件呼叫了this所在的函式,this就呼叫哪個物件。

*/

//建立物件就是為了產生例項,並進行資料的封裝。
/*
如果建立的物件沒有用到資料的封裝,那麼該物件的建立就沒有意義,Java中用static關鍵字來修飾靜態方法,不用建立物件就可呼叫該方法。

什麼時候使用static:定義某個功能時如果沒有訪問成員變數時。

*/
class Person{
private int age;
private String name;
Person(){

}
private Person(String name){
	this.name=name;
}
Person(String name,int age){
	this(name);    //當前物件呼叫,this指向類中一個引數的方法
	this.age=age;
}
public static void sleep(){
	System.out.println("哈哈哈哈哈啊哈哈");
}
void speak(){
	System.out.println("age:"+age+"\nname:"+name);
}
void setAge(int age){
	if(age<0||age>=100){
		throw new RuntimeException("你輸入的年齡非邏輯:"+age);
	}
	else this.age=age;
}
int getAge(){
	return this.age;
}

}
class day2{
public static void main(String[] args) {
Person demo=new Person(“習大大”,18);
/*demo.setAge(-15);
demo.getAge();
//demo.age=-15; 不讓它訪問,需要使用Java中的關鍵字private訪問控制符。還要提供訪問方式,更重要的是在方法中加入邏輯判斷。
//記住:對變數的訪問方式有兩種:賦值(set)、取值(get)。
*/
demo.speak();
Person.sleep();
}
}