JAVA中的内部类(二)成员内部类

Java中的成员内部类(实例内部类):相当于类中的一个成员变量,下面通过一个例子来观察成员内部类的特点

public class Outer {//定义一个实例变量和一个静态变量private int a;private static int b;//定义一个静态方法和一个非静态方法public static void say(){}public void test(){//在外部类中调用内部类的属性和方法Inner inner = this.new Inner();inner.d = 1;    //通过创建内部类实例来调用内部类属性inner.walk();    //通过创建内部类实例来调用内部类方法}//成员内部类public class Inner{//定义一个静态常量static final int m = 1;//在内部类中定义一个静态变量和一个实例变量//static int c;                    编译出错int d;//定义一个匿名代码块和一个静态代码块{}    //static{}                        编译出错//定义一个静态方法和一个普通方法//public static void go(){}        编译出错public void walk(){//在内部类中调用外部类的属性和方法a = 1;b = 1;say();test();    //内部类可以直接访问外部类的所有属性和方法}}
}

总结:

1、成员内部类可以由public protected default private修饰

2、成员内部类是依赖于外部类的对象而存在的,在创建成员内部类的实例时,外部类的实例必须已经存在。

3、成员内部类可以包含哪些内容

1)匿名代码块

2)非静态属性

3)非静态方法

注意:成员内部类中不能有静态属性和方法但可以有静态常量(即用static final修饰的属性),因为在类加载时会初始化static修饰的内容,而成员内部类必须依赖于内部类对象,即成员内部类要在外部类加载之后加载,所以不能包含静态的变量和方法。使用final修饰的静态变量类加载时会自动初始化其值,将其作为一个常量,所以可以出现在内部类中。

4、外部类访问内部类

外部类可以通过创建成员内部类实例来访问成员内部类中的属性和方法

5、成员内部类访问外部类

成员内部类可以直接访问外部类的所有属性和方法

注意: 如果成员内部类B与外部类A包含同名的成员,那么在类B中, this.v表示类B的成员, A.this.v表示类A的成员。

6、创建内部类实例的方法

1)在外部类中创建:内部类名 name = this.new 内部类名();

2)在非外部类中创建:外部类名.内部类名 name = new 外部类名().new 内部类名();

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/555392.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机里的网络是什么意思啊,计算机网络中本地站点是什么意思

Dreamweaver 站点提供一种组织所有与 Web 站点关联的文档的方法。通过在站点中组织文件,可以利用 Dreamweaver 将站点上传到 Web 服务器、自动跟踪和维护链接、管理文件以及共享文件。若要充分利用 Dreamweaver 的功能,需要定义一个站点。Dreamweaver 站…

angularjs input标签用一个日期插件后数据不能双向绑定了_微信如何定时发朋友圈?(最方便最好用的办法!)...

微信怎么发朋友圈(微信如何定时发朋友圈)作为一个运营新媒体的小编,很多情况下,我都会遇到定时发文的情况,对于我来说,定时发文很简单。只要将文案编辑好,使用平台的定时发文功能就可以&#xf…

分类学计算机面试什么,史上最全的机器学习面试题-机器学习爱好者必看

1.什么是机器学习机器学习是为了应对系统程序设计,属于计算机科学类的学科,它能根据经验进行自动学习和提高。例如:一个由程序操纵的机器人,它能根据从传感器搜集到的数据,完成一系列的任务和工作。它能根据数据自动地…

POI的getLastRowNum() getPhysicalNumberOfRows()区别

// 获得总记录数(行数)int lastRowNum sheet.getLastRowNum();int rowNumsheet.getPhysicalNumberOfRows();同样的都是获取Excel工作sheet行数的两个方法 getLastRowNum()getPhysicalNumberOfRows()他们的主要区别是: getPhysicalNumberOfR…

java获取当月有几天_腾讯程序员裸辞3个月,转行去送外卖,曝出当月收入网友:又骗我去送外卖...

最近在职业论坛看到这样一个热门的帖子,“腾讯员工裸辞3个月,转行去送外卖,曝出当月收入网友:又骗我去送外卖“到底怎么回事?请往下看。原来一位腾讯员工分享了自己从程序员到外卖员的经历,据男子说在腾讯&…

锦州哪家计算机学校好,锦州十大排名中专

一、招生专业序号专业代码专业名称学制学习年限科类学费(元/年/生)1600108铁道交通运营管理3年3-5年文史50002600106铁道信号自动控制3年3-5年理工50003600107铁道通信与信息化技术3年3-5年理工50004600101铁道机车3年3-5年理工50005600102铁道车辆...技校中专招生大学招生信息…

设置response.setContentType(“application/json;charset=utf-8“)后还是中文乱码

首先是我确认了response.setContentType(“application/json;charsetutf-8”)是设置正确了 代码如下: 找不到头绪,看了一下前端请求头信息: 确定是response.setContentType(“application/json;charsetutf-8”)没有生效,代码是没…

二年级计算机认识键盘教案,关于《认识键盘》的教学反思

关于《认识键盘》的教学反思键盘是计算机最基本、最常用的输入设备,通过键盘接口与主机相连,用户通过按键向计算机输入信息。本课学生学习的是标准的104键键盘,其中3个是Windows专用键。学生已经学习了鼠标操作的能力,在第七课安排…

后台返回给前端json字段的大小写问题,Lombok的坑@Data,@Getter

Lombok的Data注解踩坑,Setter的大小写问题 以前在处理前端请求的实体类的时候,都是用Lombok的Data注解对实体类进行getter、setter以及toString的声名,今天处理实体类的时候,发现生成的setter方法和Java Bean的命名规则不一致。&…

bootstrap 滚动 进度条_bootstrap动态进度条怎么搞

在本教程中,您将看到如何使用 Bootstrap 创建加载、重定向或动作状态的进度条。Bootstrap 进度条使用 CSS3 过渡和动画来获得该效果。Internet Explorer 9 及之前的版本和旧版的 Firefox 不支持该特性,Opera 12 不支持动画。(推荐学习:Bootst…

北交大计算机学院复试经验,2014考研复试:过来人考研复试经验谈-北交大计算机系...

从初试到复试,每个经历了这段磨砺过程的人,都不愿意输在最后一个环节——复试。我根据自己的复试经历,在大家复试之前,写下这篇文章,提供以下几点建议,希望对报考北京交通大学计算机专业的考生们有所帮助。…

Java实现文件写入——IO流(输入输出流详解)

输入输出的重要性: 输入和输出功能是Java对程序处理数据能力的提高,Java以流的形式处理数据。流是一组有序的数据序列,根据操作的类型,分为输入流和输出流。 程序从输入流读取数据,向输出流写入数据。Java是面向对象…

k2698场效应管参数电流_mos管特性曲线-电流方程与参数详解

mos管特性曲线-电流方程与参数详解mos管本文主要讲N沟道增强型mos管特性曲线、电流方程及参数MOS管是金属-氧化物半导体场效应晶体管,简称金氧半场效晶体管。一般是金属(metal)—氧化物(oxide)—半导体(semiconductor)场效应晶体管,或者称是金属—绝缘体…

江西事业单位计算机管理岗怎么样,江西省直事业单位招聘出现不少冷门岗

央广网江西频道10月19日消息 10月17日,江西省公布下半年事业单位招考因报名人数达不到开考比例而取消的岗位,此次一共有317个岗位取消,涉及取消招考366人。记者发现,大部分因“冷门”取消的岗位,都是地质等基层艰苦岗位…

Java中String转Long方式及注意事项

字符串转Long: Long.ValueOf(String); 返回Long包装类Long.parseLong(String); 返回long基本数据类型注意事项: 1.字符串内不能包含除数字之外的字符 不然会报错,java.lang.NumberFormatException 2.字符串长度要限制,不然也会出错 比如&…

base64解密后乱码_血泪教训!记一个JavaMail 附件乱码的问题

说到乱码,很多人都遇到过,“哎呀,你这个编码是不是UTF-8!”,“你这个会不会操作系统不一致导致的?”,“肯定是两边编码不一致”。不过我们今天说的问题,还真不是这个问题导致的。问题…

开发中常见的@NotNull,@NotBlank,@NotEmpty注解的区别

NotEmpty,NotNull和NotBlank的区别 NotEmpty :不能为null,且Size>0 NotNull:不能为null,但可以为empty,没有Size的约束 NotBlank:只用于String,不能为null且trim()之后size>0 org.apache.commons.lang.StringUtils类提供了String的常用操作,最…

最新电脑版二级计算机视频怎么打开,电脑版钉钉如何打开视频会议中录制的视频...

电脑版钉钉如何打开视频会议中录制的视频腾讯视频/爱奇艺/优酷/外卖 充值4折起电脑版钉钉软件被很多人使用,用来学习或者工作,想要聚集一些人讨论问题,因此会开视频会议,那么为了能够后期看视频会议,因此会选择录制视频…

POI 单元格类型CellType

1. 单元格类型 单元格的内容决定了单元格的类型,POI中定义的7种单元格类型: 日期数据对应的单元格类型是CellType.NUMERIC,默认以浮点型数显示,显示为日期格式需要设置单元格样式DataFormat字符型单元格内容也可以为富文本Ric…

extjs 渲染之前的方法_Unity通用渲染管线(URP)系列(十一)——后处理(Bloom)...

200篇教程总入口,欢迎收藏:放牛的星星:[教程汇总持续更新]Unity从入门到入坟——收藏这一篇就够了​zhuanlan.zhihu.com本文重点内容:1、创建简单的post-FX栈2、修改渲染后的图像3、需要的时候完成后处理的呈现4、制作Bloom的效果…