Clases internas de Java N: notas de estudio de 17 días

Clase interior

Una clase interna es una clase definida en una clase. Por ejemplo, una clase B se define en la clase A, luego la clase B es su división de clase en relación con la clase A y la clase A es su clase externa en relación con la clase B.

  1. Clase interna de miembro
  2. Clase interna estática
  3. Clase interna local
package com.oop.Demo04;
//N种内部类
//成员内部类
public class Outer
{
		private  int a = 10;
		
		public  void eat (){
				System.out.println("哈哈哈哈哈这是外部内的方法");
		}
		//创建一个内部类  
		//如果在class后面加上static 就是静态内部类
		public  class Inner{ //加上public才能在其他地方调用
				//在内部类中创建一个方法
				public  void in (){
						System.out.println("嘿嘿嘿这是内部类的方法");
				  
			//内部类可以访问static,但是static的内部类不能访问外部非static属性
			//所以需要都加上static
				}
				public void getin(){
							eat(); //内部类可以调用外部类的方法不管他私有不私有
				
			
							System.out.println(a);
							//class也可以写在方法中叫做局部内部类
							class Inner {
									//也可以写方法
									public void b () {
											
									}
							}
									
				}
				
		}
		//一个Java中只能有一个 public class,但是可以有需要class
		class a {
				
				public   void main (String[] args){
						
				}
				
				
		}
		
		
}

package com.oop;
import com.oop.Demo04.Outer;

public class Application
{
		public static void main (String[] args){
				
			Outer outer =	new Outer();
			//通过这个外部类来实例化这个内部类
			
			//outer.new Inner();快捷键alt加回车
		Outer.Inner inner = 	outer.new Inner();
		  inner.getin();//获取内部类的方法
			
  
		
		}
}

  1. Clase interna anónima
package com.oop.Demo04;

public class Text
{
  	public static void main (String[] args){
  		//正常情况下	
  	Apple apple =		new Apple();
  
  	apple.eat();
  //	但是我们可以通过匿名内部类
  //没有名字初始化类,不用把实列保存在变量中
  new Apple().eat();
  
  //也可以直接new接口,注意接口方法必须重写
   UserService usersevice = new UserService(){
  		//重写
  		public  void hello(){
  	  
  		}
  };//注意有个;号
  
  
  
  	}
  	
}

class Apple {
  	
  	public void eat (){
  			System.out.println("吃完了");
  	}
  	
}

interface UserService{
  	
  	void hello();
}

Supongo que te gusta

Origin blog.csdn.net/yibai_/article/details/114954515
Recomendado
Clasificación