内部类(innerclass)
来源:互联网 发布:淘宝开店电脑端描述 编辑:程序博客网 时间:2024/06/06 06:52
内部类就是在类里面定义的类,提供了更好的封装,只能让外部类直接访问,不允许同一个包其它类访问。
注意:内部类可以直接访问外部类的私有属性,内部类其实就是当做了外部类的成员,单外部类不能访问内部类的属性。
有以下几种,
①成员内部类:(如同外部类的成员)
(静态成员)静态的: static修饰
注意几点:1、 当一个静态内部类存在,并不一定存在对应的外部对象,因此静态内部类的实例方法不能访问外部类的实例方法。
2、静态内部类可看做外部类的静态成员,因此外部类的 方法 可以通过静态内部类名访问静态内部类的静态成员,
通过 new innerclassname ()访问内部类的实例
(普通成员)非静态的:注意 :内部类的对象寄存于外部对象里。
②匿名内部类:通常只使用一次,比如键盘监听操作。
③局部内部类:定义在方法内部,作用域只限于本方法,很少使用。
package neibulei;
/**
* 内部类
*/
import neibulei.Face.Nose;//或者把import neibulei.Face.Nose;去掉,在Nose前面加上f.Nose n
public class Outer {
public static void main(String[] args) {
Face f = new Face();
Nose n = f.new Nose();// 注意内部类对象是寄存与外部类对象中的,不能直接调用,要通过外部类对象来调用
n.breath();
Face.Ear ear = new Face.Ear();
ear.listen();
}
}
class Face {
String type="瓜子脸";
static String color="红润!";
/**
* 非静态内部类
*
* @author Administrator
*
*/
class Nose {
String type;
/**
* 注意下面的方法不能加static,因为Nose类对象从属于外部类对象,是对象,而static是从属于类的,所以不行。
*/
public void breath() {
System.out.println(Face.this.type);// 访问的是外部类的type
System.out.println("呼吸量!");
}
}
/**
* 静态内部类
*
* @author Administrator
*
*/
static class Ear {
void listen() {
System.out.println(Face.color);//可以访问外部类的静态属性,不能访问非静态的。
System.out.println("我在听!");
}
}
}
cosole显示如下:
瓜子脸
呼吸量!
红润!
我在听!
0 0
- 内部类(innerclass)
- Java 内部类(InnerClass)
- 内部类innerClass
- Java InnerClass(内部类)
- java 内部类 InnerClass
- 黑马程序员---6、内部类(InnerClass)和常用类
- java内部类InnerClass的总结
- 【java基础】09.内部类(InnerClass)
- java之内部类(InnerClass)----非静态内部类、静态内部类、局部内部类、匿名内部类
- java之内部类(InnerClass)----非静态内部类、静态内部类、局部内部类、匿名内部类
- java之内部类(InnerClass)----非静态内部类、静态内部类、局部内部类、匿名内部类
- Java内部类(InnerClass)详解(转http://www.exam8.com/computer/Java/zonghe/200707/659749.html)
- Java学习之内部类--InnerClass
- 内部类---(静态内部类、成员内部类、匿名内部类、局部内部类)
- Java内部类(成员内部类、局部内部类、静态内部类、匿名内部类)
- innerClass
- 内部类(匿名内部类)
- java 内部类(成员内部类)
- C. Journey
- Leetcode 236. Lowest Common Ancestor of a Binary Tree
- NIO - Buffer
- Codeforces Round #375 (Div. 2)
- JavaScript快速上手——基础篇
- 内部类(innerclass)
- 前端HTML5几种存储方式的总结
- 手机游戏直播 : 悟空TV客户端设计与技术难点
- Leetcode 235. Lowest Common Ancestor of a Binary Search Tree
- 程序备忘_矢量控制原理框图_LV
- HDU 4609 3-idiots三个智障 FFT+组合计数
- PHP 图片文件上传实现代码
- 《sip揭秘》格式详解
- 获取微信浏览器的真实IP地址