java 中内部类的实例详解

 更新时间:2017年09月05日 11:21:40   投稿:lqh  
这篇文章主要介绍了java 中内部类的实例详解的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下

java 中内部类的实例详解

一:内部类可直接访问外部类的成员变量,包括外部类私有的成员变量  

二:外部类要访问内部类的成员变量,需要建立内部类的对象  

class Outer{ 
   int x=110; 
   public void show(){ 
      System.out.println("外部类的x="+x); 
   } 
  public void showInner(){ 
      Inner inner=new Inner(); 
      inner.show(); 
      System.out.println(inner.x); 
   }  
  class Inner{//内部类 
    int x=220; 
    public void show(){ 
         System.out.println("内部类的x="+x); 
      } 
  } 
} 
 
 
 
public class OuterDemo { 
   public static void main(String[] args) { 
     Outer outer=new Outer(); 
     outer.show(); 
     outer.showInner(); 
     Outer.Inner outerInner=new Outer().new Inner();//特殊情况.外部类直接访问内部类成员变量 
     outerInner.show(); 
   } 
 
} 

内部类之所以可以直接访问外部类的成员变量,是因为内部类持有外部类的引用。格式:外部类名.this 

如:System.out.println("x="+Outer.this.x);//访问外部类的x  

class Outer{ 
   int x=110; 
   class Inner{ 
     int x=220; 
     public void show(){ 
        int x=330; 
        System.out.println("x="+x);//访问show()中的x 
        System.out.println("x="+this.x);//访问内部类的x 
        System.out.println("x="+Outer.this.x);//访问外部类的x 
 
     } 
   } 
  void showInner(){ 
     Inner inner=new Inner(); 
     inner.show(); 
  } 
} 
 
 
 
public class OuterDemo { 
    public static void main(String[] args) { 
      Outer outer=new Outer(); 
      outer.showInner(); 
     
    } 
 
} 

在内部类(一)和内部类(二)中,内部类都是作为全局变量出现的即定义在了类里  ,在此奖内部类定义为局部变量,即定义在方法里.尤其注意:此时内部类要想访问局部变量,那么此  局部变量必须是被final修饰的,如此处的y  

 package cn.com; 
class Outer { 
   int x = 110; 
   public void show() { 
      final int y=99; 
      class Inner {// 内部类 
       int x = 880; 
       public void showInner() { 
         System.out.println("局部变量y=" + y); 
        } 
      } 
   new Inner().showInner(); 
   } 
 
} 
 
public class OuterDemo { 
   public static void main(String[] args) { 
      Outer outer = new Outer(); 
      outer.show(); 
   } 
 
} 

 如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • java中instanceof 关键字作用和实际用途详解

    java中instanceof 关键字作用和实际用途详解

    这篇文章主要介绍了java中instanceof 关键字作用和实际用途,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-04-04
  • SpringMVC中的拦截器详解及代码示例

    SpringMVC中的拦截器详解及代码示例

    这篇文章主要介绍了SpringMVC中的拦截器详解及代码示例,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • 一名Java高级工程师需要学什么?

    一名Java高级工程师需要学什么?

    作为一名Java高级工程师需要学什么?如何成为一名合格的工程师,这篇文章给了你较为详细的答案,需要的朋友可以参考下
    2017-08-08
  • Spring Security获取用户认证信息的实现流程

    Spring Security获取用户认证信息的实现流程

    Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框架。它提供了一组可以在Spring应用上下文中配置的Bean,充分利用了Spring IoC,DI和AOP功能,为应用系统提供声明式的安全访问控制功能
    2022-12-12
  • Java及Android中常用链式调用写法简单示例

    Java及Android中常用链式调用写法简单示例

    这篇文章主要介绍了Java及Android中常用链式调用写法,结合实例形式分析了java编程中的链式调用概念、简单使用方法及相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • 如何在JDK 9中更简洁使用 try-with-resources 语句

    如何在JDK 9中更简洁使用 try-with-resources 语句

    本文详细介绍了自 JDK 7 引入的 try-with-resources 语句的原理和用法,以及介绍了 JDK 9 对 try-with-resources 的改进,使得用户可以更加方便、简洁的使用 try-with-resources 语句。,需要的朋友可以参考下
    2019-06-06
  • Java实现短信验证码服务的完整代码示例

    Java实现短信验证码服务的完整代码示例

    这篇文章主要介绍了Java实现短信验证码服务的完整代码示例,文中使用阿里云的短信服务进行应用开发的流程,包括将属性写入application.yml配置文件,定义类并指定配置文件,注入实体类对象等等,需要的朋友可以参考下
    2024-09-09
  • Spring init-method与destroy-method属性的用法解析

    Spring init-method与destroy-method属性的用法解析

    这篇文章主要介绍了Spring init-method与destroy-method属性的用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 基于SpringBoot的SSMP的整合案例

    基于SpringBoot的SSMP的整合案例

    这篇文章主要介绍了SpringBoot整合SSMP的详细教程,文中通过代码示例介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • java 中单例模式饿汉式与懒汉式的对比

    java 中单例模式饿汉式与懒汉式的对比

    这篇文章主要介绍了java 中单例模式饿汉式与懒汉式的对比的相关资料,这里对这两种单例模式进行对比,希望大家能理解并应用,需要的朋友可以参考下
    2017-08-08

最新评论