java 内部类的详解及实例

 更新时间:2017年08月06日 16:43:50   投稿:lqh  
这篇文章主要介绍了 java 内部类的详解及实例的相关资料,这里提供了两种内部类的实现方法,并给出实例,需要的朋友可以参考下

 java 内部类的详解及实例

内部类的存在意义:

每个内部类都能独立地继承自一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现,对于内部类都没有影响。内部类使得多重继承的解决方案变得完整。接口解决了部分问题,二内部类有效地实现了“多重继承”。(这是《Java编程思想》里面的解释)

代码:

public class OuterAndInnerClass 
{ 
 public static void main(String[] args) 
 { 
  //创建内部类对象的方法一 
  //Outer.Inner inner = new Outer().new Inner(); 
 
  //创建内部类对象的方法二 
  Outer outer = new Outer(); 
  Outer.Inner inner = outer.getInner(); 
  inner.output(); 
 
  //验证方法里面的内部类 
  outer.test(); 
 } 
} 
 
class Outer 
{ 
 int[] items = {1,2,3,4}; 
 
 class Inner 
 { 
  //内部类可以访问外部类的成员变量以及方法 
  public void output(){ 
   for(int i = 0; i<items.length; i++){ 
    System.out.println(items[i]+""); 
   } 
  } 
 }; 
 
 public Inner getInner(){ 
  return new Inner(); //匿名内部类,如果需要,匿名内部类里面可以写各种属性以及方法体 
 } 
 
 //在方法里面创建一个内部类(其实可以在需要的地方创建内部类) 
 public void test(){ 
  class MethodInnerClass 
  { 
   public void innerMethod(){ 
    System.out.println("这是方法里面的内部类"); 
   } 
  }; 
  MethodInnerClass methodInnerClass = new MethodInnerClass(); 
  methodInnerClass.innerMethod(); 
 } 
}; 

接口里面也可以定义内部类:

interface InterfaceInnerClass 
{ 
 void f(); 
 //注意:这里使用java InterfaceInnerClass.java编译,使用java InterfaceInnerClass$Test运行 
 class Test implements InterfaceInnerClass 
 { 
  public void f(){ 
   System.out.println("Hello World!"); 
  } 
  public static void main(String[] args) 
  { 
   new Test().f(); 
  } 
 }; 
} 

以上就是java 内部类的实例详解,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Java中的反射机制基本运用详解

    Java中的反射机制基本运用详解

    这篇文章主要介绍了Java 反射机制原理与用法,结合实例形式详细分析了Java反射机制的相关概念、原理、基本使用方法及操作注意事项,需要的朋友可以参考下
    2021-08-08
  • SpringBoot使用Jasypt对配置文件和数据库密码加密

    SpringBoot使用Jasypt对配置文件和数据库密码加密

    在做数据库敏感信息保护时,应加密存储,本文就来介绍一下SpringBoot使用Jasypt对配置文件和数据库密码加密,具有一定的参考价值,感兴趣的可以了解一下
    2024-02-02
  • Java这个名字的来历与优势

    Java这个名字的来历与优势

    Java是Sun公司开发的一种编程语言,Sun公司最初的方向是让Java来开发一些电器装置程序,Java名字的由来,实际上是一个有趣的故事。
    2014-10-10
  • Java中ReentrantLock的用法和原理

    Java中ReentrantLock的用法和原理

    本文主要介绍了Java中ReentrantLock的用法和原理,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • Java常用的时间工具类实例

    Java常用的时间工具类实例

    这篇文章主要介绍了Java常用的时间工具类,结合具体实例形式分析了java日期时间的常用转换、判断、输出相关操作技巧,需要的朋友可以参考下
    2017-06-06
  • java使用Cookie判断用户登录情况的方法

    java使用Cookie判断用户登录情况的方法

    这篇文章主要为大家详细介绍了java使用Cookie判断用户登录情况,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-12-12
  • spring boot整合mybatis使用c3p0数据源连接mysql

    spring boot整合mybatis使用c3p0数据源连接mysql

    这篇文章主要为大家详细介绍了spring boot整合mybatis使用c3p0数据源连接mysql,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • SpringBoot结合Ajax实现登录页面实例

    SpringBoot结合Ajax实现登录页面实例

    大家好,本篇文章主要讲的是SpringBoot结合Ajax实现登录页面实例,感兴趣的同学赶快来看一看,对你有帮助的话记得收藏一下
    2022-02-02
  • 详解JAVA生成将图片存入数据库的sql语句实现方法

    详解JAVA生成将图片存入数据库的sql语句实现方法

    这篇文章主要介绍了详解JAVA生成将图片存入数据库的sql语句实现方法的相关资料,这里就是实现java生成图片并存入数据库的实例,需要的朋友可以参考下
    2017-08-08
  • Spring零基础到进阶之鸿蒙开篇

    Spring零基础到进阶之鸿蒙开篇

    Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spring解决了开发者在J2EE开发中遇到的许多常见的问题,提供了功能强大IOC、AOP及Web MVC等功能
    2022-07-07

最新评论