李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
Java
正文
创建内部类
Leefs
2019-10-29 AM
1844℃
0条
# 创建内部类 ### 前言 在前几篇中讲嵌套接口时,嵌套接口没讲到,把嵌套类给简单介绍了一下,由于《Java编程思想》第十章都在讲内部类,现在就跟着书从头温习一遍吧。 ### 一、内部类相关介绍 **内部类:将一个类的定义放在另一个类的内部。** > 代码 ```java public class Parcel1 { class Contents{ private int i = 11 ; public int value(){return i;} } class Destination{ private String label; Destination(String whereTo){ label = whereTo; } String readLabel(){return label;} } public void ship(String dest){ Contents contents = new Contents(); Destination destination = new Destination(dest); System.out.println(destination.readLabel()); } public static void main(String[] args) { Parcel1 parcel = new Parcel1(); parcel.ship("Tasmaina"); } } ``` > 运行结果 ```java Tasmaina ``` > 代码分析 + 1.`Parcel1`:外部类,`Contents`:内部类,`Destination`:内部类,`ship()`:外部类中的方法 + 2.创建一个对象`Parcel1`,调用`Parcel1`类中的`ship()`方法 + 3.ship方法中创建了内部 类对象`Contents`和`Destination`,同时调用了`Destination`类的`readLabel()`方法 + 4.打印输出:`Tasmaina` **当我们在`ship()`方法里面使用内部类的时候,与普通的类没有什么不同。在这里,实际的区别只是内部类的名字是嵌套在`Parcel1`里面的。不过你将会看到,这并不是唯一的区别。** ### 二、创建内部类练习题 题目 ```visual basic 编写一个名为Outer的类,它包含一个名为Inner的类。在Outer中添加一个方法,它返回一个Inner类型的对象。在main()中,创建并初始化一个指向某个Inner对象的引用。 ``` > 代码 ```java public class Outer { Outer() { System.out.println("初始化Outer"); } class Inner { Inner() { System.out.println("初始化Inner"); } } public Inner getInner() { return new Inner(); } public static void main(String[] args) { Outer outer = new Outer(); Outer.Inner inner = outer.getInner(); } } ``` > 运行结果 ```java 初始化Outer 初始化Inner ``` ### 总结 **如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,那就必须像在main()方法中那样,具体地指明这个对象的类型`OuterClassName.InnerClassName`.**
标签:
Java
,
Java编程思想
,
JavaSE
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/93.html
上一篇
浅谈过滤器
下一篇
使用IDEA创建Filter
评论已关闭
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
NLP
4
标签云
RSA加解密
Livy
二叉树
DataX
BurpSuite
Golang
高并发
机器学习
Java
Hive
Spring
国产数据库改造
数据结构
序列化和反序列化
JavaScript
Spark RDD
Elasticsearch
Spark Streaming
工具
字符串
链表
栈
散列
pytorch
排序
Quartz
Nacos
Redis
Tomcat
Kibana
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭