美文网首页java基础
java中的内部类及成员内部类

java中的内部类及成员内部类

作者: 小漫画ing | 来源:发表于2019-03-03 08:54 被阅读0次

内部类的概述

A:把类定义在其他类的内部,这个类就被称为内部类。
举例:在类A中定义了一个类B,类B就是内部类。
B:内部类访问特点:
内部类可以直接访问外部类的成员,包括私有。
外部类要访问内部类的成员,必须创建对象。

class Outer{
  private int num=10;
  public void show(){
      Inter i=new Inter();//外部类调用内部类的成员,必须创建对象
      i.show();
  }
  //内部类
  class Inter{
      public void show(){
          System.out.println(num);
      }
  }
}

内部类的位置

A:按照内部类在类中定义的位置不同,可以分为如下两种格式:
成员位置(成员内部类):上面的代码就是成员内部类
局部位置(局部内部类)
B:成员内部类
外界如何创建对象,如下:
外部类名.内部类名 对象名=外部类对象.内部类对象

//外部类
class Outer{
    private int num=10;
    //内部类
    class Inter{
        public void show(){
            System.out.println("直接访问内部类");
        }
    }
}
public class neibulei {
    public static void main(String[] args) {
        //如何直接访问内部类成员:外部类名.内部类名 对象名=外部类对象.内部类对象
        Outer.Inter oi=new Outer().new Inter();
        oi.show();
    }
}

成员内部类的修饰符

private:为了保证数据的安全性;
static:静态内部类访问的外部类数据必须用静态修饰;
练习:

package cn.manman.com;
/*
 * 要求是分别输出30,20,10,请填空
 */
class Outer1{
    public int num=10;
    class Inter1{
        public int num=20;
        public void show(){
            int num=30;
            System.out.println(num);
            System.out.println(this.num);
            System.out.println(new Outer1().num);
            System.out.println(Outer1.this.num);//后面两种都可以,推荐使用。
        }
    }
}
public class InterClassTest {
    public static void main(String[] args) {
        Outer1.Inter1 oi =new Outer1().new Inter1();
        oi.show();
    }
}

局部内部类

A:可以直接访问外部类的成员;
B:在局部位置,可以创建内部类对象,通过对象调用内部类的方法,来使用局部内部类功能;

package cn.manman.com;
class Outer2{
    private int num=10;
    public void method(){
        //局部内部类
        class Inner{
            public void show(){
                System.out.println(num);
            }
        }
        Inner i=new Inner();
        i.show();
    }
}
public class jubuneibulei {
    public static void main(String[] args) {
        Outer2 o2=new Outer2();
        o2.method();
    }
}

相关文章

  • 内部类

    成员内部类 局部内部类(定义在方法内和定义在作用域内的类) 匿名内部类

  • 面试官:谈谈你对Java内部类的理解?

    java中的内部类可以分为普通内部类(成员内部类),静态内部类,局部内部类和匿名内部类。 成员内部类 成员内部类就...

  • Java-几种内部类

    Java内部类分4中:成员内部类、局部内部类、静态内部类、匿名内部类。 1、成员内部类:即作为外部类的一个成员存在...

  • Java学习——内部类

    内部类 一,成员内部类(包括静态内部类和非静态内部类) 非静态内部类可以直接访问外部类的成员,反之则不行 非静态内...

  • Java--内部类的分类-1

      在Java中内部类主要分为成员内部类(非静态内部类、静态内部类)、匿名内部类、局部内部类。 成员内部类(可以使...

  • Java 内部类、静态内部类、方法内部类(未完待续)

    内部类 什么是内部类?内部类其实就是在一个类中创建的类。内部类有四种: 成员内部类 静态内部类 局部内部类 匿名内...

  • Java 内部类

    内部类包括成员内部类、方法内部类、*静态内部类、匿名内部类*。 内部类的作用 由于内部类的实现和外部类没有关系,内...

  • Java内部类

    Java内部类,简单来说就是将一个类定义在另一个类或者方法里面,主要分为成员内部类,局部内部类,匿名内部类和静态内...

  • java学习笔记(十三)内部类

    1、概述 内部类即在类的内部在创建一个类 分为成员内部类(直接在类中创建) 局部内部类(在成员方法中创建) 匿名内...

  • Java 中的方法内部类

    Java 中的方法内部类 方法内部类就是内部类定义在外部类的方法中,方法内部类只在该方法的内部可见,即只在该方法内...

网友评论

    本文标题:java中的内部类及成员内部类

    本文链接:https://www.haomeiwen.com/subject/dozcuqtx.html