zoukankan      html  css  js  c++  java
  • 四种内部类的展示代码

    内部类

    内部类的使用

    实例化内部类

    1. 成员内部类,一个类定义在另一个类中

      public class Outer {
          private int id = 10;
          public void out(){
              System.out.println("Outer输出");
          }
          public  class Inner{//内部类甚至可以操控类的私有属性
              public void getId(){
                  System.out.println(id);
              }
              public void in(){
                  System.out.println("Inner输出");
              }
          }
      }
      public static void main(String[] args) {
              Outer outer = new Outer();
              Outer.Inner inner = outer.new Inner();
              inner.getId();
              inner.in();
          }
      结果:
          10
      	Inner输出
      
    2. 静态内部类,一个static类定义在另一个类中

      public class Outer {
          private int id = 10;
          public void out(){
              System.out.println("Outer输出");
          }
          public static class Inner{//静态内部类在类创建的时候就存在
              public void in(){
                  System.out.println("Inner输出");
              }
          }
      }
      

      由于static关键字的特性,所以他在外部类实例化过程就可用了,所以不能再里面加普通的变量

    3. 局部内部类(定义在方法内部的类,具体怎么用后面用到再说)

      方法里面定义的类,出了方法外就失效了

      public void out(){
          class Hello{
              String name;
              public void printName(){
                  System.out.println(name);
              }
          }
          System.out.println("Outer输出");
      }
      
    4. 匿名内部类

      Outer outer1 = new Outer(){//这就是匿名内部类,在实例化类的时候,重写类
          @Override
          public void out() {
              super.out();
          }
      };
      
  • 相关阅读:
    2. Add Two Numbers
    1. Two Sum
    leetcode 213. 打家劫舍 II JAVA
    leetcode 48. 旋转图像 java
    leetcode 45. 跳跃游戏 II JAVA
    leetcode 42. 接雨水 JAVA
    40. 组合总和 II leetcode JAVA
    24. 两两交换链表中的节点 leetcode
    1002. 查找常用字符 leecode
    leetcode 23. 合并K个排序链表 JAVA
  • 原文地址:https://www.cnblogs.com/li33/p/12712344.html
Copyright © 2011-2022 走看看