------- android培训java培训、期待与您交流!
----------

内部类

将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类,嵌套类)。

内部类访问特点:

•  内部类可以直接访问外部类中的成员,包括私有成员。

•  而外部类要访问内部类中的成员必须要建立内部类的对象。

内部类的位置:

内部类定义在成员位置上:

                •  可以被private static成员修饰符修饰。

                •  被static修饰的内部类只能访问外部类中的静态成员。

    内部类定义在局部位置上:

                •  也可以直接访问外部类中的成员。

                •  同时可以访问所在局部中的局部变量,但必须是被final修饰的。

内部类应用:

当描述事物时,事物的内部还有事物,该事物用内部类来描述。因为内部事务在使用外部事物的内容。

class Niu//例:牛魔王与孙悟空
{
private int x = 3; class Hou//内部类可以调用外部类数据
{ int x = 4;
void speak()
{
int x = 5;
System.out.println(x);//直接打印5,打印4用this.,打印3用Niu.this.。
}
}
void run()//外部类访问内部类必须建立内部类对象
{
Hou h = new Hou();
h.speak();
}
} class Demo
{
public static void main(String[] args)
{
Niu.Hou n = new Niu().new Hou();//格式,一般用不到
n.speak();
}
}

匿名内部类:   就是内部类的简化写法。

匿名内部类的前提:

•  内部类可以继承或实现一个外部类或者接口。

匿名内部类的格式为:

•  new 外部类名或者接口名(){覆盖类或者接口中的代码,(也可以自定义内容。)}

简单理解匿名内部类:

•  就是建立一个建立一个带内容的外部类或者接口的子类匿名对象。

------- android培训java培训、期待与您交流!
----------

黑马程序员——JAVA基础之内部类,匿名内部类的更多相关文章

  1. 黑马程序员Java基础班+就业班课程笔记全发布(持续更新)

    正在黑马学习,整理了一些课程知识点和比较重要的内容分享给大家,也是给自己拓宽一些视野,仅供大家交流学习,大家有什么更好的内容可以发给我 ,现有黑马教程2000G  QQ 1481135711 这是我总 ...

  2. 黑马程序员----java基础笔记中(毕向东)

    <p>------<a href="http://www.itheima.com" target="blank">Java培训.Andr ...

  3. 黑马程序员----java基础笔记上(毕向东)

    ------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 笔记一共记录了毕向东的java基础的25天课程,分上.中.下 本片为上篇,涵盖前10天课程 1. ...

  4. 黑马程序员——JAVA基础之泛型和通配符

    ------- android培训.java培训.期待与您交流! ---------- 泛型:            JDK1.5版本以后出现新特性.用于解决安全问题,是一个类型安全机制. 泛型好处: ...

  5. 黑马程序员——JAVA基础之简述面向对象,类,变量,匿名对象

    ------- android培训.java培训.期待与您交流! ---------- 面向对象: 面向对象是相对面向过程而言 面向对象和面向过程都是一种思想 面向过程 强调的是功能行为 面向对象 将 ...

  6. 黑马程序员——JAVA基础之语法、命名规则

    ------- android培训.java培训.期待与您交流! ---------- 1.java语言组成:关键字,标识符,注释,常量和变量,运算符,语句,函数,数组. 2.java关键字:被Jav ...

  7. 黑马程序员——JAVA基础之GUI

    -----Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- GUI(图形用户界面)  GUI •  Graphical User Interface(图形用 ...

  8. 黑马程序员——JAVA基础之File类,递归,打印流,合并切割流

    ------- android培训.java培训.期待与您交流! ---------- File类 用来将文件或者文件夹封装成对象 方便对文件与文件夹的属性信息进行操作. File对象可以作为参数传递 ...

  9. 黑马程序员——JAVA基础之多线程的安全问题

    ------- android培训.java培训.期待与您交流! ---------- 导致多线程出现问题的一个特殊的状态:就绪.具备了执行资格,但是还没有获取资源. 导致安全问题的出现的原因: 1. ...

随机推荐

  1. [转]理解WSRF之一 使用WS-ResourceProperties (整理自IBM网站)

    理解 WSRF第1部分-使用 WS-ResourceProperties   本 教程是一个由 4 部分组成的系列文章中的第 1 部分,该系列介绍 WSRF(Web Services Resource ...

  2. swift语言开发的一个游戏------熊猫跑酷(KongfuPanda)

    项目地址:https://github.com/jakciehoo/KongfuPanda 欢迎加QQ群:260558552.大家一起交流iOS开发,我们可以一起学习,我很想集结一些志同道合的朋友,一 ...

  3. Javascript ----字符串(String)中的方法

    涉及字符串时,常用到的几个方法... --------------------------------------------------------------------------------- ...

  4. R.java不能自动更新

    1. The type R is already defined. (很多时候我们在导入其他人的程序的时候,会遇到这个错误) 通常在project里有两个R.java,一个在src,一个在gen,通常 ...

  5. C/C++整数除法以及保留小数位的问题

    题目描述 Given two postive integers A and B,  please calculate the maximum integer C that C*B≤A, and the ...

  6. 算法导论 第六章 思考题 6-3 d叉堆

    d叉堆的实现相对于二叉堆变化不大,首先看它如何用数组表示. 考虑一个索引从1开始的数组,一个结点i最多可以有d个子结点,编号从id - (d - 2) 到 id + 1. 从而可以知道一个结点i的父结 ...

  7. spring mvc + freemarker优雅的实现邮件定时发送

    1. spring mvc工程中引入相关freemarker\mail的包 如:pom.xml中加入类似 <dependency> <groupId>javax.mail< ...

  8. 如何调用super

    因此,决定是否调用 super,基于您打算如何重新实施方法: 如果打算补充超类实现的行为,请调用 super. 如果打算替换超类实现的行为,就不要调用 super. 如果您要补充超类行为,另一个需要重 ...

  9. 文件操作I

    <html> <head> <meta charset="utf-8"> </head> <body> <?php ...

  10. swift系统学习第一章

    第一节:变量,常量,类型推断,字符,字符串 //swift学习第一节 /* 变量 常量 类型推断 字符 字符串 */ import UIKit //变量 var str = "swift&q ...