内部类
来源:互联网 发布:mac安装exe软件 编辑:程序博客网 时间:2024/05/18 02:56
这段代码介绍了如何定义一个内部类,如何在第三方类中创建一个内部类以及如何利用内部类控制外部类的成员。
具体见下代码中注释:
package com.tiger.innerclass;/** * 外部类 -- 宿主 * @author tiger * */class Person {String name = "外";public void eat(){System.out.println("外部类方法 -- Person.eat()");}/* * 在本类中创建内部类 */public void create(){InnerPerson innerPerson = new InnerPerson();innerPerson.ctrlOut();}/** * 内部类 --寄生于宿主(依靠外部类存在) * @author tiger * */class InnerPerson{String name = "内";/* * 控制外部类的。。。 */public void ctrlOut(){System.out.println("在内部类中调用外部类方法 -- Person.eat()");eat();//外部类的方法}public void test(String name){//传入参数System.out.println("参数 : "+name);//内部类访问内部类成员变量System.out.println("内部类参数 : "+this.name);//内部类访问外部类 -- System.out.println("外部类参数 : "+Person.this.name);}}}/** * 在第三方类测试类 * @author tiger * */public class InnerClassTest{public static void main(String[] args) {//Person person = new Person();//创建外部类的方式,首先创建内部类Person.InnerPerson innerPerson = new Person().new InnerPerson();//在内类方法控制外部类元素innerPerson.ctrlOut();innerPerson.test("--参数--");}}
阅读全文
1 0
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 内部类
- 分布式消息队列RocketMQ与Kafka架构上的巨大差异之1 -- 为什么RocketMQ要去除ZK依赖?
- lintcode--二叉树的最大节点
- 4.Java基础语法(3)
- 文件选择器
- mysql和oracle的区别
- 内部类
- hdu 4496 D-City (并查集)
- kotlin学习的一些学习资源,你需要收藏了
- 设计模式学习笔记——装饰器模式
- 分布式消息队列RocketMQ与Kafka架构上的巨大差异之2 -- CommitLog与ConsumeQueue
- 196. Delete Duplicate Emails
- Y
- sprintf函数用法详解
- [题解]codeforces 438d The Child and Sequence