2.2.13内置类与静态内置类

关键字synchronized的知识点还涉及内置类的使用。

/**
 * @author wuyoushan
 * @date 2017/4/27.
 */
public class PublicClass {
    private String username;
    private String password;

    class PrivateClass{

        private String age;
        private String address;

        public String getAge() {
            return age;
        }

        public void setAge(String age) {
            this.age = age;
        }

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }
    }
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

/**
 * @author wuyoushan
 * @date 2017/3/20.
 */
public class Run {
    public static void main(String[] args){
        PublicClass publicClass=new PublicClass();
        publicClass.setUsername("usernameValue");
        publicClass.setPassword("passwordValue");

        System.out.println(publicClass.getUsername()+" "+publicClass.getPassword());
        PublicClass.PrivateClass privateClass=publicClass.new PrivateClass();
        privateClass.setAge("ageValue");
        privateClass.setAddress("addressValue");
        System.out.println(privateClass.getAge()+" "+privateClass.getAddress());
    }
}

程序的运行结果为:

usernameValue passwordValue
ageValue addressValue

如果PublicClass.java类和Run.java类不在同一个包中,则需要将PrivateClass内置声明成public公开的。

想要实例化内置类必须使用如下代码:

PublicClass.PrivateClass privateClass=publicClass.new PrivateClass();

内置类还有一种叫作静态内置类。

**
 * @author wuyoushan
 * @date 2017/4/27.
 */
public class PublicClass {
    private String username;
    private String password;

    static class PrivateClass{

        private String age;
        private String address;

        public String getAge() {
            return age;
        }

        public void setAge(String age) {
            this.age = age;
        }

        public String getAddress() {
            return address;
        }

        public void setAddress(String address) {
            this.address = address;
        }
    }
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

/**
 * @author wuyoushan
 * @date 2017/3/20.
 */
public class Run {
    public static void main(String[] args){
        PublicClass publicClass=new PublicClass();
        publicClass.setUsername("usernameValue");
        publicClass.setPassword("passwordValue");

        System.out.println(publicClass.getUsername()+" "+publicClass.getPassword());
        PublicClass.PrivateClass privateClass=new PublicClass.PrivateClass();
        privateClass.setAge("ageValue");
        privateClass.setAddress("addressValue");
        System.out.println(privateClass.getAge()+" "+privateClass.getAddress());
    }
}

程序的运行结果为:

usernameValue passwordValue
ageValue addressValue

摘选自 java多线程核心编程技术-2.2.13

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 124,591评论 18 136
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 29,108评论 18 398
  • “雨墨姑娘,雨墨姑娘。” 我正睡的熟,耳边却突然有一个如同蚊子一般嗡嗡的声音,令人讨厌的叫喊着。 “谁是雨...
    小鹿咩阅读 425评论 0 3
  • 文/无忧先生 从前 我也有一张幼稚的脸 时光飞逝 可是我回不到从前 看着孩子天真的眼 他还能孩子多少年 多想他永远...
    无忧先生阅读 51评论 0 0
  • 《水庄》 / 人们把房子建在水上,把路建在水上 人们把塔建在水上,建在山顶上 我们从路上经过水庄,水包围群山 水包...
    一亩岐江阅读 79评论 1 2
  • 高考像一根火柴,把沉默的高中班群一下子点着了,点燃了许久未联系的友谊,点燃了暗恋的心
    悠然绘梦阅读 46评论 0 0