黑马程序员_内部类概述
来源:互联网 发布:如何头文件javascript 编辑:程序博客网 时间:2024/06/07 03:24
------- <a href="http://www.itheima.com" target="blank">android培训</a>、<a href="http://www.itheima.com" target="blank">java培训</a>、期待与您交流! ----------
内部类:
将一个类定义在另一个类里面,对里面那个类就称为内部类(内置类,嵌套类)
访问特点:
内部类可以直接访问外部类中的成员,包括私有成员。
而外部类要访问内部类中的成员必须要建立内部类的对象。
内部类的位置
1,内部类定义在成员位置上,可以被private,static成员修饰符所修饰。
被static修饰的内部类只能访问外部类中的静态成员。
2,内部类定义在局部位置上,也可以直接访问外部类的成员。
同时可以访问所在局部中的局部变量,但必须是被final修饰的。
匿名内部类
就是内部类的一种简化写法,和匿名方法一样,可以调用其中的方法等等,但是无法有实例化对象。并且匿名内部类必须是继承或者实现一个外部类或者接口。格式为:
new外部类名或接口名(){覆盖类或者接口中的代码(也可理解为自定义对象)}
简单理解:就是建立一个带内容的外部类或者接口的子类匿名对象。
示例:
package com.itheima;
public class InnerClassDemo {
public static void main(String[] args) {
new Outer().Method();
//访问非静态内部类中方法。
new Outer.Inner2().show();
new Outer().Method2();
}
}
class Outer extends Dog{
private int x = 4;
private class Inner{//创建一个私有化内部类。
int x = 6;
void show(){
//内部内访问内部变量和外部变量。
System.out.println("inner x ="+this.x+" Outer x ="+new Outer().x);
}
}
static class Inner2{//静态内部类
void show(){
System.out.println("inner2show");
}
}
void Method(){
Inner in = new Inner();
in.show();
}
void Method2(){
new Dog()
{
int num= 9;
void show()
{
System.out.println("dog shownum = "+num);
}
}.show();
}
}
- 黑马程序员_内部类概述
- 黑马程序员_内部类概述
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- 黑马程序员_内部类
- Linux字符设备驱动之LED驱动
- c/c++练习
- 优先队列使用方法
- Perforce使用中文教程: p4 client
- #笔记#圣思园 JavaSE 第12讲——Java基础知识回顾
- 黑马程序员_内部类概述
- 数组指针与指针数组
- hdoj 4548 美素数
- Javaweb学习笔记8—DBUtils工具包
- vim编码
- hadoop实现原理(一)配置信息处理
- Java程序员面试失败的5大原因
- xargs用法
- splay__poj3580