3分钟带你理解:Java面向对象中的成员内部类

原创 2018年04月16日 00:00:00

640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1


上篇文章我们讲到Java面向的一个重要特征--“封装”,而内部类的使用可以提供更好的封装。


回忆:

内部类的主要作用:

  1. 内部类提供了更好的封装,可以把内部隐藏在外部之内,不允许同一个包中的其他类访问该类

  2. 内部类的方法可以直接访问外部类的所有数据,包括私有的数据。

  3. 内部类所实现的功能使用外部类同样可以实现,只是有时候使用内部类更加方便。


而内部类可简单分为4种,分别是:

  • 成员内部类

  • 静态内部类

  • 方法内部类

  • 匿名内部类


  • 成员内部类

成员内部类是最常见的内部类,也称为普通内部类,因为成员内部类定义在外部类的内部(MD废话),相当于外部类的一个成员变量,所以叫做成员内部类。

举个例子:

640?wx_fmt=png&wxfrom=5&wx_lazy=1

通过这个简单的例子,我们知道成员内部类的使用方法以及一些特征:

  1. 内部类可以任意使用访问控制符(public、protected、private等)

  2. 内部类中的方法可直接访问外部类的数据,如图中内部类SiChuan中的show( )方法可直接访问外部类China中的私有属性popu。


    640?wx_fmt=png

  3. 创建内部类对象必须使用外部类对象,而不能直接new一个内部类对象。


    640?wx_fmt=png


注意:外部类和内部类具有相同名字的成员变量或方法时,内部类默认访问内部类的成员变量或方法,如果要访问同名的外部类的成员变量,可以使用this关键字。如:

640?wx_fmt=png

640?wx_fmt=png

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wyC1K04BLoQyJ/article/details/79969433

面向对象(关键字,内部匿名类,)day10

10.01_面向对象(package关键字的概述及作用)(了解) A:为什么要有包 将字节码(.class)进行分类存放 包其实就是文件夹 B:包的概述 举例: 学生:增加,删除,修改,...
  • qq_16103331
  • qq_16103331
  • 2016-07-13 11:48:06
  • 218

黑马程序员_Java语言_面向对象_内部类

——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-10.01_面向对象(包+内部类)...
  • jiao142857
  • jiao142857
  • 2015-05-03 15:44:10
  • 217

day10<面向对象+>

面向对象(package关键字的概述及作用)面向对象(包的定义及注意事项)面向对象(带包的类编译和运行)面向对象(不同包下类之间的访问)面向对象(import关键字的概述和使用)面向对象(四种权限修饰...
  • xiaoye142034
  • xiaoye142034
  • 2017-09-28 10:07:18
  • 51

3分钟带你玩转React Native研发所有调试技巧

原文地址 http://www.52learn.wang/archives/1071 1、React Native Dev tool的安装 在利用Chrome调试之前,首先需要在Chr...
  • shan1991fei
  • shan1991fei
  • 2017-02-07 10:08:35
  • 1808

深入理解Java中的面向对象

深入理解Java中的面向对象
  • a2011480169
  • a2011480169
  • 2016-08-03 09:13:10
  • 6659

面向对象_内部类分类及成员内部类的直接使用

/* 成员内部类: 如何直接访问内部内的成员: 格式:外部类名.内部类句 对象名 = new 外部类对象().new 内部类对象(); */ package cn.Inner3; cla...
  • L1585931143
  • L1585931143
  • 2016-10-23 16:16:46
  • 317

java入门、java学习:如何理解Java面向对象

首先要说明一点,对象不是java的,事实上他只是一种概念,一种用于解决问题的程序设计的思想方法。要理解对象就必须得要和面向对象结合起来。在面向对象中把某一类事物所共有的属性和行为抽象出来之后就形成了一...
  • javaniuniu
  • javaniuniu
  • 2016-05-23 10:59:01
  • 2104

对java中面向对象思想的理解

java是一门纯粹的面向对象的语言。面向对象这种程序设计模式它将现实世界中的一切事物都看作是对象,例如,一个人是一个对象,汽车、飞机、小鸟等等,都是对象;它强调从对象出发,以对象为中心用人类的思维方式...
  • u012738773
  • u012738773
  • 2016-03-15 11:52:12
  • 6103

java面向对象理解

一、面向对象理解         面向对象主要针对面向过程,面向过程的基本单元是函数,面向对象基于面向过程的编程语言,在java语言中万物皆可以看作对象。 二、类与对象        (1) 所有的事...
  • u013735544
  • u013735544
  • 2015-01-07 22:00:54
  • 950

java面向对象编程思想的理解

1、我们总说java是一门面向对象编程的语言,那什么是面向对象呢? 我是这样理解的,对象是事物存在的实体,现实中,随处可见的事物便是对象,如人类、书桌、计算机、高楼大厦等。人类解决问题的方式总是将复杂...
  • u012316953
  • u012316953
  • 2016-10-05 18:02:53
  • 6761
收藏助手
不良信息举报
您举报文章:3分钟带你理解:Java面向对象中的成员内部类
举报原因:
原因补充:

(最多只允许输入30个字)