内部类

来源:互联网 发布: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("--参数--");}}







原创粉丝点击