1. 程式人生 > >Java面向物件----封裝概念

Java面向物件----封裝概念

封裝

  資訊隱藏,隱藏物件的細節

訪問修飾符

public

  private

  protected

   預設

屬性封裝的實現

方法封裝的目的(隱藏方法實現細節)

package com.tanlei.newer;

public class TeacherDemo {
   public static void main(String[] args) {
	   teacher t=new teacher();
	   //t.name("zhangs");
	   t.setName("zhangs");
	   t.setAge(23);
	   System.out.println(t.getAge());
	   
}
   
}

class teacher{
	  private String name;
	  private int age;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		if( age<25) {
			System.out.println("年齡太小了");
			this.age=age;
		}else {
			this.age=age;
		}
		
	}
	  
}

 UML類圖(建模語言,圖形化語言) 

類的構造方法

對屬性進行初始化賦值

new 操作符 {自動呼叫}

package com.tanlei.newer;

public class ContstructorDemo {
  public static void main(String[] args) {
	person person=new person("長沙",3);
	//在堆中開闢空間,給屬性分配預設的初始值
	//假設屬性一開始就賦值了,就進行賦值工作
	//呼叫構造方法來進行賦值
	System.out.println(person.toString());
	
  }
}

class person{
	private String name;
	private int age;
	
	public person(String name,int a) {
		this.name=name;
		this.age=a;
	}
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}

	@Override
	public String toString() {
		return "person [name=" + name + ", age=" + age + "]";
	}
	
	
	
}
static關鍵字

類變數(靜態變數)

類方法(靜態方法)

優先於物件的存在

  可以通過類名.成員呼叫

package com.tanlei.newer;

public class Static {
  public static void main(String[] args) {
	 Account.num1++;
	 System.out.println(Account.num1);
}
}

class Account{
	public static int num1=1;//靜態變數
	public int num2=2;
	
	public void shownum1() {
		System.out.println(num1);
	}
	public void shownum2() {
		System.out.println(num2);
	}
}

  

//static語句塊  類被載入的時候就會執行,只會執行一次,優先於構造方法的執行
	static {
		
	}