2-1 javaеķװ

	
		ĳЩϢڲⲿֱӷʣͨṩķʵֶϢĲͷʡ
		
	ô
	
		1. ֻͨ涨ķ
		2. ʵϸڣ޸ĺʵ
		
	װĲ裺
		1. ޸ԵĿɼ						Ϊprivate
		2. getter/setter 				ԵĶд
		3. getter/setterмԿ	ֵúϷԽж
		
		
2-2 ʹð
	


2-3 javaеķη
	ηԺͷķʷΧ
	
	
	η				ͬ				
	private 	
	Ĭ							
	protected					
	public								
	
2-4 javaеthisؼ
	1. thisؼִǰ
		this. ǰ
		this. ǰķ
	2. װԵʱ򣬾ʹthisؼ

2-5 ʲô Java еڲ

	ʣʲôڲأ	
	ڲࣨ Inner Class Ƕһࡣ֮Ӧڲ౻Ϊⲿࡣ
	
	ʣΪʲôҪһඨһأˬˬĶһð	
	ڲҪ£
	
	1. ڲṩ˸õķװ԰ڲⲿ֮ڣͬһеʸ
	2. ڲķֱӷⲿݣ˽е
	3. ڲʵֵĹʹⲿͬʵֻ֣ʱʹڲ
	
	ʣڲмأ	
	ڲɷΪ¼֣	
	    Աڲ
	    ̬ڲ
	    ڲ
	    ڲ
	    
2-6 javaеĳԱڲ  com.imooc2.Demo05
	Աڲʹ÷

	1 Inner ඨ Outer ڲ൱ Outer һԱλã
	   Inner ʹʿƷ public  protected  private 
	2 Inner ж test() ֱӷ Outer еݣ
	         ܷʿƷӰ죬ֱӷ Outer е˽a
	3 ˳Աڲ󣬱ʹⲿڲ
	        ֱȥ new һڲ󣬼ڲ  = ⲿ.new ڲ( );
	4 ĳ󣬻ֲᷢ .class ļ
	
	Уڶⲿ .class ļһڲ .class ļԱڲ .class ļⲿ$ڲ.class
	⣬ʾŶ
	1 ⲿǲֱʹڲĳԱͷ
	ȴڲĶȻͨڲĶԱͷ
	2 ⲿڲͬĳԱ򷽷ڲĬϷԼĳԱ򷽷
	ҪⲿĳԱʹ this ؼ֡

2-7 Javaеľ̬ڲ    com.imooc2.Demo06

	̬ڲ static εڲ࣬ڲصǣ

	1 ̬ڲ಻ֱӷⲿķǾ̬Աͨ new ⲿ().Ա ķʽ 
	2 ⲿľ̬ԱڲĳԱͬͨ.̬Աⲿľ̬Ա
	        ⲿľ̬ԱڲĳԱƲͬͨԱֱӵⲿľ̬Ա
	3 ̬ڲĶʱҪⲿĶ󣬿ֱӴ ڲ = new ڲ();


2-8 Javaеķڲ	 com.imooc2.Demo07

	ڲڲඨⲿķУڲֻڸ÷ڲɼֻڸ÷ڿʹá

	һҪעŶڷڲ಻ⲿķĵطʹã˷ڲ಻ʹ÷ʿƷ static η
	
3-1 Java еļ̳
	ؼ   extends
	̳еĳʼ˳
	1. ʼ࣬ٳʼ
	2. ִгʼԣִй췽еĳʼ
	
	 -> Գʼ -> ๹췽 ->  -> Գʼ -> ๹췽 
	
3-5 java еfinalʹ
	ʹfinalؼʶ Сյġ壬final࣬Ժͱ
	final࣬಻̳
	finalη÷(д)
	final
		Բʽĳʼ
		ڹ췽иֵֻѡһ
	final αñֵֻܸһֵΪ
	
3-6 java еsuperؼ
	ڶڲʹãԴ
	1. ʸ
		super.age
	2. ʸķ
		super.eat()
	3. superӦ
		ĹĹб丸Ĺ췽
	ǴʱʵԶִУ󣬲ʼ๹췽
	ʱѾʽʹsuperؼ
	
	Ҫʽʹsuperؼ֣뽫super()๹췽๹췽ĵһС
	constructor call must be the first statement in a constructor
	
	๹췽мûʽøĹ췽û޲εĹ췽
	
3-7  java еobject 

	object ĸ࣬һûʹextendsؼȷʶ̳һ࣬ôĬϼ̳Objectࡣ
	object еķʺеࡣ
	
	objectеķ
	
	1. toString() :
	
		Object涨toString()ʱĬϷضĹϣcode (ַַ)
		дtoString()ʾ
		
		@override
		public void toString()
		{
			return "Dog[age="+age+"]";
		}
		
	2. equals()
	
		ȽϵʱǷָͬһڴַ
		
		磺Dog dog = new Dog();
			ʱdog Ǵdogָڴеһַ
			ͨdogڴеĵַӵʹö
		
		һ£ȽʱǱȽֵǷͬҪдequals
		
		@override
		public boolean equals(Object obj)
		{
			if(this==obj)
				return true;
			if(obj==null)
				return false;
			if(getClass()!=obj.getClass())
				return false;
			Dog other=(Dog)obj;
			
			if(age!=other.age)
				return false;
			return true;
		}
		
4-1  javaеĶ̬	com.imooc4
	1. õĶ̬
		ÿָĶ:Animal obj1 =new Animal();
		ÿָĶ:Animal obj2 =new Dog();
		
	2. Ķ̬	
		ʱ÷Ϊķ
		ʱ÷Ϊдķ߼̳еķ	
		
4-2 java еת	  com.imooc4
	1. תʽ/Զת,С͵͵ת
		ڷգҲԶת
	2. ת(ǿת)Ǵ͵С͵ת
		ڷգСװ´ʱܳ
	3. instanceof  öͣתİȫ⡣
		 жһǷĳͻĳ͵ͣbooleanֵ

4-3 java еĳ

	ǰʹabstractؼΣΪ
	Ӧó
		1. ĳЩĳֻ֪ĳķ޷׼ȷ֪ЩʵЩ
		          Ҳ˵ԼЩξʵֵ
		2. Ӷͬгһ࣬Ϊģ壬ӶƵԡ
	ã
		ƹ涨ʵĳЩʵֵϸڣԼЩ
	ʹù
		1. abstract 
		2. abstract 󷽷ֻҪʵ
		3. 󷽷ǳ
		4. ԰ͨķҲûг󷽷
		5. ಻ֱӴԶñ
		
4-4 java еĽӿ
	
	ӿڿΪһ࣬ȫֳ͹󷽷ɡ
	
	1. ӿڸ
		һ־ʵ壬ڶĳһҪصĹ淶
		ӿڲЩڲݣҲЩķʵϸڣֻ涨ЩṩĳЩ
	2. ӿڶ
		ඨ岻ͬӿڲʹclassؼ֣ʹ interfaceؼ֡
	3. Ļ﷨

		[η] <abstract> interface ӿ [extends ӿ1ӿ2...]
		{
			...
			󷽷...
		}	
		
		ӿھ̳УʵֵģηһPublic
		ע: ʹPrivate protect νӿ
		
		
		ӿеǳʹʱ public static final ηϵͳҲԶӡ
		
		
		ӿеķֻǳ󷽷ʹãʹʱpublic abstract ηϵͳҲԶϡ
		
	4. ʹýӿ
		
		һʵһ߶ӿڣʵֽӿʹimplementsؼ֡javaеһֻܼ̳һ࣬ǲģ
		ͨʵֶӿڿ䡣
		
		̳иʵֽӿڵ﷨Ϊ
		
		[η] class  extends  implements ӿ1ӿ2...
		{
			岿//̳˳࣬Ҫʵּ̳еĳ󷽷;Ҫʵֽӿеĳ󷽷
		
		}
		
		Ҫ̳и̳࣬иʵֽӿ֮ǰ˵ؼextends  implements֮ǰ
	
							
		* 磬һࡾ绰Telphoneֱ࣬Ϊѵ绰CellPhoneܵ͡绰SmartPhone
		CellPhone̴ͨ绰ͷţSmartPhoneͨ绰ͷţʱSmartPhoneϷ
		SmartPhoneϷĹܣSmartPhonePSPϷĹܣPSP̳гTelphoneΪPSPTelphone
		ͬһͣǾͬϷôʱͿԿʹýӿϷĹܶΪӿ
		
		
		* ͨӿڿͬͶ֮Ĺͬԣͨӿʹǡ
		
	5. ʹýӿ
		ӿʹù̵Уڲʹá
		
		ڲࣺûֵڲ࣬ڹעʵֶעʵ֡
		
		Interface i = new Interface(){
			public void method(){
				System.out.println("ڲʵֽӿڵķʽ");
			}		
		};
		
		
		
		
		
		
		
4-7 UML 
		
		1. UML 
			Unified Modeling Language UML
			ֳͳһģԣ ׼ģ
			
			һ֧ģͻϵͳͼλԣ
			Ϊн׶ṩģͻͿӻ֧֡
		2.  UMLͼʾ
			UML 2.2 һ14ͼʾ(diagrams)
			
		3. UMLͼ
			
			a. ͼ (The Use Case Diagram)
				ͼܹԿӻķʽϵͳռҵԼضûϢ
				
									Restaurant (simplified)
							-->			eat food
				Food Critic	-->			pay for food		
							-->			Drink wine
										Cook food		<---		Chef
												
								 
				һ͹ͨûԳԶ֧ԵĶȾƣʦԵġ
				ͿԽϵͳеĽɫϵͳܽһ
				
			b. ͼ(The Sequence Diagram)
				ͼҪɫڴ浱жĹϵϵʲô˳ִеģǸӹעС
				ڰսһϵ˳ʾ֮Щ
				----------------------------------------------------------
					û			̨		˴		ȡǮ		˻̨
					 |			  |			  |			 |		  |
					 |	       -|		ȡǮ  |	-		ȷϲȡǮ	  |
					 |			  |			  |			 |		  |
					 |	-		ַ		  |-ȨϷ-|		  |
			 		 |			  |			  |			 |		  |
				----------------------------------------------------------

				磬ûȥȡǮôȡǮḶ́ûϵͳĹϵ
				ȱݣȻȡǮȷȡǮ
				
			c. ͼ(The Class Diagram)
				UMLͼҵ߼ֽ֧ṹһͬڶȫĴṹ.
				
				Ҫҵ߼,һЩṹԵϢ,֮ͨĹϵ,Щ,Щ.
				
									-----------------------------	
									|		Animal				|				
									-----------------------------		
									|-name	: java.lang.String	|					
									|-age	: int 				|
									-----------------------------
									|+ eat(): Void				|				
									-----------------------------
												
												|
									-----------------------------
									|			Dog				|				
									-----------------------------
									|							|
									-----------------------------
									|+<<Override>>	eat():void	|				
									-----------------------------
									
				Dog ̳ Animal 뷽 DogдAnimaleat()					
				
				
			*UML ԴӲͬĻ,˽ϵͳĹ,дϵͳʱ,ĸȷ,Ҹ͸.
			d. ģ
				VisioRational RosePowerDesignEnterprise Architect  ģӦ
				
				http://www.uml.org.cn/umltools
			
			
	 
	
6-1 ۺϰ	com.imooc6
	ѧ֪ʶдһ̨ "⳵ϵͳ"
	
	ܣ
	1. չʾп⳵
	2. ѡ͡⳵
	3. չʾ⳵嵥:ܽػ䳵͡䳵
	
	Ŀ
		1. ģͷ
			a. ͨʾҪķΪϢϵͳʵʩṩݴȡݽṹԼӦԼ
			b. ݽṹ:
			
		2. ҵģͷ
			a. Ӧó֮ǰӦȷӦóִеЩ
				ҵӦó򿪷ҪĲ֮һ
				ȷҵĿڴһͬʱ̺ҪĽ
			b. ⳵ϵͳֻҪҵ󼴿ɡ
				ҵ
					*ѡ
					*⳵
					*ͳƽ
					*ؿ͡
					
		3. ʾ̷
			a. ʾûԿϢʾ
			b. :ʾϢִй̣衣
			c. ⳵ϵͳУҪеķʽʾʾϢϢ
				ҪʽûݲͬϢʾδʾⲿֵ֪ʶʾ̵ݡ
				
				磺 ѡ ->  -> ܽ...
				

javaŵ

1-1 java쳣
	쳣
		1. 쳣
		2. java쳣ϵṹ
	쳣
		1. try-catch Լ try-catch-finally	try 鲻Զڣ catch  finally ͬ 
		2. ׳쳣
		3. Զ쳣
		4. 쳣
			Throwable
					->			Error		ָϵͳڴ߳(ThreadDeath)(VirtualMachineError),򳹵ֹ
									->->	AWTEorror
									->->	VirtualMachineError
					->			Exception	롢û
									->->	RuntimeExceptionǼ쳣	ϵͳԶʾ
												->->->		NullPointerException(ָ쳣)
												->->->		NullSuchElementException
																		->->->->		InputMismatchException	
												->->->		ClassCastException(ת쳣)
												->->->		ArithmeticException(쳣)
												->->->		illegalArgumentException
																		->->->->		NumberFormatException
												->->->		illegalStateException
												->->->		IndexOutOfBoundsException	
																		->->->->		ArrayIndexOutOfBoundsException(±Խ쳣)
												->->->		NullPointerException
												
									->->	쳣	ҪֶӴ벶
											IOException(ļ쳣)
												->->->			EOFException
												->->->			FileNotFoundException
												->->->			MalformedURLException
												->->->			UnknownHostException
											ClassNotFoundException
											CloneNotSupportException
											SQLException(SQL쳣)
												
1-2	javaʹtry-catch Լ try-catch-finally

	try
	{
		//һЩ׳쳣ķ
	}
	catch(Exception e)
	{
		//쳣Ĵ
	}
	
	try׳쳣ᷢʲô
		ȣ׳쳣ķִֹУȻĿȨƽcatchе쳣򣬸ݲͬҵԴ
	磺
		1. һЩ棬ã
		2. д־¼
		
	쳣Ĵʽ:catch,Ҫ쳣쳣СĴΪͽѰҴ쳣ĳ
	
	finally
		
1-3 javaͨѧϰtry...catch	com.imooc7.TryCatchTest

1-5 javaҵ쳣׳ԼԶ쳣		com.imooc7.DruckException
	throw :	쳣׳׳쳣Ķ
	throws:	дڷĲʶڷ֮ǰεķ߱÷ܻ׳ĳ͵쳣
			׳һ͵쳣Ҳ׳,ÿ֮öŸ
	
	public void ()	throws 쳣б{
		//û׳쳣ķ:
		throw new Exception();	
	}	
	
	
	Public void divide(int one ,int two) throws Exception{
		if(two==0){
			throw new Exception("Ϊ0");
		}
		else{
			System.out.println("Ϊ:"+one/two);
		}
	}

	*Զ쳣
		class Զ쳣 	extends	쳣{
		
		}

1-7 Javaе쳣 	com.imooc7.ChainTest



1-9 javaе쳣ܽ
	1. ʱ쳣ʱ߼ȥͬʱtry-catch
	2. ڶcatch棬Լһcatch(Exception e) ܱ©쳣
	3. ڲȷĴ룬ҲԼtry-catchǱڵ쳣
	4. ȥ쳣м֪ʶ򵥵ĵprintStackTrace()ȥӡڴӡ쳣ͬʱҵعȲ
	5. 쳣Ҫҵ񳡾쳣ȥȷ
	6. FinallyͷռõԴӣļ
	

2-1 javaеַ

	String 󴴽ܱ޸ģǲɱģν޸ʵǴµĶָڴռ䲻ͬ
	1 ͨ String s1="Ľ"; һַ s1 ˵ַ,
	         Ȼͨ s1="ӭ"+s1; ıַ s1 ʵǴµַ󣬱 s1 ָ´ַ
	2 һһַڴдַɸı䡣ҪһԸıַǿʹStringBufferStringBuilder½лὲ

	3 ÿ new һַǲһµĶ󣬼ַͬʹ == ȽʱҲΪ false ,ֻȽǷͬӦʹ equals() ǰ½ڽŶ~~
			
		
												
2-3 javaString ĳ÷
		
		
		
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	

	
	
	
		
		
	
	