Javaのオブジェクト向け概念の理解と知識点について(四)


一、抽象クラスとインタフェースの違いと特徴について
1.抽象クラス
      
1、            abstract  
 
2、           ,            
 
3、           (   )
 
4、                ,          
 
5、               ,           
 
6、        ,                

7.         :
            :
                          。
            :
                   ,              。
            :
                           ,         。
            :
                   :       ,        
                  :          。
8.          :
                  ,      ,               。
                         。
9. abstract              。
       private   ;private          ,          , abstract          。
       final    ;final          ,     ,    ,static    ;
       static  ;static             ,  abstract         ,               。

2.インタフェース
     
1.       ,    public   

2.          ,          

3.           ,     

4.        ,      ,            “public static final”

5.                  ,                 ,            

6.            (  ),             

7.            


         

1.                ,                    

2.           ,           

3.                    ,      ,            

4.                        

5. java            final ,        final  

6. java            public ,            private,protected   public 

7.         ,       。           ,       main           

二、構造方法
    :         
new A():     ,              ;
1)new      ,              
2)A();    ,       

  :1)       
          2)     ,           ,             
     (   jvm   ,               )
          3)new            

            :

    :
1)       
2)          
3)      new   
4)          return,        (return;)             
     ,    return
5)            

    :
1)               (void)
2)        
3)            
4)      return            ;
5)             


       :               

1)                     
2)                           

三、内部クラス
     :
               ,    

  :
	     
		           
		public class Outer{
			
			//     
			class Inner{
			
			}
		}

		          :
			                 
			     .          =new    ().new    ();

		            :
			               ,    

			       this:
				this:    ---      
				     .this:            
			
	     
		         , static      
		public class Outer{
			
			//     
			static class Inner{
			
			}
		}

		              

		                        
			     .          =new     .     ();

		              :
			                  ,        

	     
		          
		public class Outer{
		
			public void method(){
				//     
				class Inner{
				
				}

			}
		}
		
		                         

		                 ,                final  

		                 ,    ,                ,        。            ,  fianl  ,  ,                 。

	     
		              
		               

		         :
			        
			          

		          :
			           

		        :
			     
			new   (){
				     
			};
			                
				1.            ---    
				2.        
				

		            :
			     
			new   (){
				       
			};
			                 
				1.              --    
				2.           

			                  ?
				1.          ,        
				2.        

finalキーワード
 1) final         ,    ; final               ;
 final         ,       。

 final          ,    private               。
final                      , private    ,
              。(final      ,private      )

 2)final  
   final      ,  final             ,    final 。
      ,           ,           ,
             ,      final 。

3) final   
                   ,           final  。     final       :
  、     ,                。
  、  。        final           ,        。

4)final  (  ) 
 final           ,          !
final        :    、         ,           。
           ,   final     ,        。
  ,final       ,     ,     ,       final  ,      ,        final           。
  ,final   final   final             ,  ,
     final                 ,            。
  final       ,        ,             ;
  final       ,             ,            。

5)final  
      final   ,          ,           。

staticキーワード
1.              
2.             
3.           
4.          ,        。
5.Static      ,       (  )  。 Static           
  ,                。 this         。

上のコード:
public class Demo1 {
     

	//final            
	//          
	//public final String name="admin";//  
	public static final String name;//    
	
	//                  
	static{
     
		name="  ";
	}
	
	//           
	/*{
		name="  ";
	}*/
	
	//          
	/*public Demo1(){
		this.name="admin";
	}*/
	
	public void fun(){
     
		//this.name="  ";
	}
	
	public final void  method(){
     
		
	}
	
	//  m final  ,m       
	public void fun2(final int m){
     
		int n=m+5;
		/*m++;
		m=m+5;*/
	}
}
class demo2 extends demo1{
     
/*	public void method(){
		
	}*/
	
	public void method(String name){
     }
}