前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java 内部类实例化方式

java 内部类实例化方式

作者头像
用户7886150
修改2021-04-07 11:29:55
1.2K0
修改2021-04-07 11:29:55
举报
文章被收录于专栏:bit哲学院

参考链接: Java内部的类

1、java成员和静态内部类的使用,适用类本身适用,旨在减少文件个数和方便维护管理; 

2、匿名内部类方便不同业务实现下的灵活使用; 

3、局部内部类,跟匿名内部类相仿,但功能不同。 

本文着重讲: 

①java成员内部类和静态内部类的实例化方式, 

②内部类的方法调用方式 

代码实现如下: 

package com.innerClass;

import com.google.gson.Gson;

/**

 * Created by Liuxd on 2018-09-06.

 */

public class TestInnerClass {

    private static final Gson gson = new Gson();

    public static void main(String[] args) {

        /**

         * 外部类

         */

        User user = new User();

        user.setName("Jack");

        user.setAge(22);

        /**

         * 创建内部类对象

         */

        User.BankInfo bankInfo = user.new BankInfo();

        bankInfo.setBankName("中国工商银行");

        bankInfo.setBankNo("15801122225553669");

        String json = gson.toJson(user);

        System.out.println(json);

        System.out.println("---------------------------------------------------------");

        user.setBankInfo(bankInfo);

        json = gson.toJson(user);

        System.out.println(json);

        System.out.println("---------------------------------------------------------");

        /**

         * 创建静态内部类对象

         */

        User.Org org = new User.Org();

        org.setOrgCode("ceo");

        org.setOrgName("总裁办公室");

        org.print();

        System.out.println("---------------------------------------------------------");

        user.setOrg(org);

        json = gson.toJson(user);

        System.out.println(json);

    }

}

外部类/内部类: 

package com.innerClass;

/**

 * Created by Liuxd on 2018-09-06.

 */

public class User {

    private String name;

    private int age;

    private BankInfo bankInfo;

    private Org org;

    class BankInfo {

        private String bankNo;

        private String bankName;

        public String getBankNo() {

            return bankNo;

        }

        public void setBankNo(String bankNo) {

            this.bankNo = bankNo;

        }

        public String getBankName() {

            return bankName;

        }

        public void setBankName(String bankName) {

            this.bankName = bankName;

        }

    }

    static class Org {

        private String orgCode = "";

        private String orgName = "";

        public void print() {

            System.out.println("机构编码:" + orgCode + ",机构名称:" + orgName);

        }

        public String getOrgCode() {

            return orgCode;

        }

        public void setOrgCode(String orgCode) {

            this.orgCode = orgCode;

        }

        public String getOrgName() {

            return orgName;

        }

        public void setOrgName(String orgName) {

            this.orgName = orgName;

        }

    }

    public String getName() {

        return name;

    }

    public void setName(String name) {

        this.name = name;

    }

    public int getAge() {

        return age;

    }

    public void setAge(int age) {

        this.age = age;

    }

    public BankInfo getBankInfo() {

        return bankInfo;

    }

    public void setBankInfo(BankInfo bankInfo) {

        this.bankInfo = bankInfo;

    }

    public Org getOrg() {

        return org;

    }

    public void setOrg(Org org) {

        this.org = org;

    }

}

打印结果: 

{"name":"Jack","age":22}

---------------------------------------------------------

{"name":"Jack","age":22,"bankInfo":{"bankNo":"15801122225553669","bankName":"中国工商银行"}}

---------------------------------------------------------

机构编码:ceo,机构名称:总裁办公室

---------------------------------------------------------

{"name":"Jack","age":22,"bankInfo":{"bankNo":"15801122225553669","bankName":"中国工商银行"},"org":{"orgCode":"ceo","orgName":"总裁办公室"}}

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档