服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - Java 内部类的定义与范例

Java 内部类的定义与范例

2022-07-13 10:02执久呀 Java教程

说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉。原因是平时编写代码时可能用到的场景不多,用得最多的是在有事件监听的情况下,并且即使用到也很少去总结内部类的用法。今天我们就来一探究竟

一、前言

前面我们学习了一个小的项目,现在我们来学习新的知识点,关于内部类的描述,其实

顾名思义就是在类的内部有一个类,简称套娃类(个人观点)

二、内部类

一个类定义在另一个在一个类的内部叫内部类。

  • 内部类可以直接访问外部类的私有和非私有成员,而外部类不能直接访问内部类
  • (包括所有外部类成员)
  • 外部类成员要访问内部类是,必须创建内部类对象。
  • 外部类通过创建对象也可以方法内部类的私有和非私有成员

语法格式:

?
1
2
3
4
5
public class A{
 
  修饰符 class B{}
 
}

static修饰内部类

static不能直接修饰类,但是可以修饰内部类,被static修饰的内部类就变成了普通类

即只能通过创建外部类对象去访问外部类,不能直接访问外部类。

如:

内部类未被static修饰时:

?
1
2
3
4
5
6
7
8
9
10
public class Outer{
     private  int num=10;
 
     public class Inner{
  
       public void show(){
         System.out.println(num);//直接使用
      }
    }
}

内部类被static修饰后

?
1
2
3
4
5
6
7
8
9
10
public class Outer{
     private  int num=10;
 
     public class Inner{
    Outer o=new outer();
       public void show(){
         System.out.println(o.num);//创建外部类对象调用使用
      }
    }
}

演示操作:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public  class OuterClass {
    private int num=20;
    public static void main(String[] args) {
        OuterClass oo=new OuterClass();
        oo.show1();
    }
    public  class InnerClass{
 
        private int num2=10;
        public void show(){
 
            System.out.println("这是一个内部类的show");
            System.out.println(num);//内部类直接访问外部类私有
           //访问外部类成员方法
        }
    }
    public  void show1(){
        InnerClass i=new InnerClass();
        i.show();//通过创建对象访问内部类成员方法
        System.out.println(i.num2);//外部类创建对象访问内部类私有
        System.out.println("这是一个外部类show");
    }
}

结果:

Java 内部类的定义与范例

到此这篇关于Java 内部类的定义与范例的文章就介绍到这了,更多相关Java 内部类内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_60719453/article/details/121183967

延伸 · 阅读

精彩推荐