java--方法内部类

java–方法内部类

方法内部类—

方法内部类------在这里我们可以认为方法内部类就相当于方法中的一个局部变量

1、定义方法内部类的时候没有访问修饰符

2.方法内部类中不能出现类变量和类方法

3.方法内部类中的构造方法/实例方法,可以访问本方法中的局部变量,jdk8.0之前需要使用final修饰局部变量,包括参数

4方法内部类中的构造方法/实例方法,可以访问外部类的实例变量/实例方法,默认外部类类名.this. , 可以省略外部类类名.this.

5方法内部类中的构造方法/实例方法,可以访问外部类的类变量/类方法,默认外部类类名,也可以外部类类名.this. ,可以省略外部类类名/外部类类名.this.

6.定义该方法内部类的方法中可以访问这个方法内部类中的变量和方法,对象访问

7.外部类中的方法中是不能访问方法内部类的。【方法内部类当于方法中的一个局部变量

package com.lin183.time;

public class MyClass {
    //实例变量
	public  int  myclassid=1001;
	//类变量
	public  static  String myclassname="zhangsan";
	//构造方法
	public MyClass(){
		//7.外部类中的方法中是不能访问方法内部类的。
	}
    //实例方法
	public  void  myclassMethod(){
		//7.外部类中的方法中是不能访问方法内部类的。【方法内部类当于方法中的一个局部变量】
		//InnerClass innerclass=new InnerClass();无法访问
	}
	//类方法
	public  static  void  myclassStatic(){
		//7.外部类中的方法中是不能访问方法内部类的。
	}
	//实例方法
	public void testMethod() {
		//方法内部类--就是将有个java类定义在方法中
		//我们可以认为方法内部类就相当于这个方法中的一个局部变量
		//1.方法内部类不能有访问限制修饰符的
		//2.方法内部类中不能出现类方法和类变量
		//3.方法内部类中的构造方法/实例方法,可以访问本方法中的局变量.
		//4.方法内部类中的构造方法/实例方法,可以访问外部类的实例变量/实例方法,
		//默认外部类类名.this. , 可以省略外部类类名.this.
		//5.方法内部类中的构造方法/实例方法,可以访问外部类的类变量/类方法,
		//默认外部类类名,也可以外部类类名.this. ,可以省略外部类类名/外部类类名.this.
		
		
		
		double value=12.5;
		
		 class InnerClass{
			 //方法内部类的实力方法
			 public  int  innermyclassid=1002;
			 //方法内部类的类变量
			 // public static String innerclassname="lisi";
			 
			 //方法内部类的构造方法
			 public InnerClass() {
				 System.out.println("vlaue==="+value);
				 System.out.println("myclassid==="+MyClass.this.myclassid);
				 System.out.println("myclassid==="+myclassid);
				 MyClass.this.myclassMethod();
				 myclassMethod();
				 System.out.println("myclassname==="+MyClass.this.myclassname);
				 System.out.println("myclassname==="+MyClass.myclassname);
				 System.out.println("myclassname==="+myclassname);
				 MyClass.this.myclassStatic();
				 MyClass.myclassStatic();
				 myclassStatic();
			 }
			 
			 //方法内部类的实例方法
			 public void innerclassMethod() {
				 System.out.println("vlaue==="+value);
				 System.out.println("myclassid==="+MyClass.this.myclassid);
				 System.out.println("myclassid==="+myclassid);
				 MyClass.this.myclassMethod();
				 myclassMethod();
				 System.out.println("myclassname==="+MyClass.this.myclassname);
				 System.out.println("myclassname==="+MyClass.myclassname);
				 System.out.println("myclassname==="+myclassname);
				 MyClass.this.myclassStatic();
				 MyClass.myclassStatic();
				 myclassStatic();
			 }
			 //方法内部类的类方法
			//public static void  innermyclassStatic(){}			 
		 }
		//6.定义该方法内部类的方法中可以访问这个方法内部类中的变量和方法,对象访问
		 InnerClass inner=new InnerClass();
		 	System.out.println("innerClassid==="+inner.innermyclassid);
	}
}
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值