一、前言
前面我们学习了一个小的项目,现在我们来学习新的知识点,关于内部类的描述,其实
顾名思义就是在类的内部有一个类,简称套娃类(个人观点)
二、内部类
一个类定义在另一个在一个类的内部叫内部类。
- 内部类可以直接访问外部类的私有和非私有成员,而外部类不能直接访问内部类
- (包括所有外部类成员)
- 外部类成员要访问内部类是,必须创建内部类对象。
- 外部类通过创建对象也可以方法内部类的私有和非私有成员
语法格式:
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 内部类内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/weixin_60719453/article/details/121183967