Java修饰符及内部类定义及应用

修饰符

权限修饰符:public,private,默认,protected(受保护的)

public:使用居多(开发中使用最多)

private:对与一般标准类中的成员变量private使用最多,对于工具类(通用代码,无参构造方法被private修饰)

默认修饰符:在使用在同一个包下。

protected:不同包下,子类的修饰符中见得最多。

状态修饰符: static,final

一般和public结合使用最多。

抽象:abstract

内部类

定义:当a类中的内容要被b类直接访问,而a类还需要创建b类的对象,访问b类的内容时,这个时候就可以将b类定义到a类的内                 部,这样访问更便捷。将b称之为内部类(内置类,嵌套类)。

/*
	内部类:
		在一个类中定义一个类
		在类B中定义A类,或者类A中定义一个类B
		
		内部类可以访问外部类的成员,包括私有修饰的
*/
//Outer是外部类
class Outer{
	//外部类的成员变量
	private int num = 10 ;
	
	//内部类
	class Inter{
		//成员方法
		public void show(){
			System.out.println(num) ;
		}
	}

	//在外部类的成员位置,访问内部类的成员,必须创建内部类对象
	public void method(){
		//show() ; //错误
		Inter i  = new Inter() ; //创建内部类对象
		i.show();
	}
	

}

作用:内部类可以访问外部类成员,包括私有的也可以进行访问。

分类

         成员内部类:定义在类中的成员位置。

         局部内部类:定义在方法中局部位置。

class Outer{
	private int num = 30 ;
	
	//成员位置
	//成员内部类
	class Inter{
		
	}
	
	//Outer的成员方法
	public void method(){
		
		//局部内部类
		class Inter2{	
			
		}
	}
	
}

class OuterDemo2{
	public static void main(String[] args){
		
	}
}

成员内部类

               成员内部类可以被private修饰,保证数据的安全性。

              格式:     外部类名.内部类名 对象名 = 外部对象.内部对象。

 

静态成员内部类:

               静态成员内部类只能访问静态的数据

              格式:     外部类名.内部类名 对象名 = new  外部类名.内部类名();

局部内部类:               

           ①:可以访问外部类所有成员,私有的也可以访问。

           ②:在外部类局部位置可以去访问局部内部类成员,创建该内部类成员,使用对象名访问。

匿名内部类:

定义:其实就是一个带有内容的子类对象。

格式:new 父类 or接口(){子类的内容}

匿名内部类就是内部类的简写格式。

匿名内部类的前提是内部类必须要继承父类或者是实现接口。

class Outer { 
		public static Inter method(){//返回值类型是引用类型(接口)
				//匿名内部类
				/*
					格式:
						new 类名或者接口名{
								重写抽象方法;
						};
				*/
			return	new Inter(){
					public void show(){
						System.out.println("HelloWorld") ;
					}
				};
		}
} 
	
//测试类
class OuterDemo { 
		public static void main(String[] args) {
			Outer.method().show();
		}		
} 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值