A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈林阳 黑马帝   /  2011-11-15 22:17  /  1595 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

public class WeekDay{
        private WeekDay(){}

        public final static WeekDay SUN = new WeekDay();
        public final static WeekDay MON = new WeekDay();
}

请问为什么这里创建星期几要用final static来修饰,还有构造函数为什么私有

4 个回复

倒序浏览
final是表示常量,不可以修改的元素。
static是表示静态变量,可以直接调用,不用实例化。
构造函数私有是为了让这个类不可以实例化。
也就是说,如果想创建这个类的实例,就只能通过这个类的公共方法创建。
而这个类并没有公共实例化的方法,所以只能用静态变量才可以被调用。
回复 使用道具 举报
final就是常量,
构造函数私有是为了不让别人创建本类对象,只有在这个类里面能创建,也就限定了这个类的对象只能从给定的里面取值,就是枚举的原理
回复 使用道具 举报
黄喆 黑马帝 2011-11-15 22:35:04
板凳
一周里面的星期几都是固定的常量,所以用final static 修饰,私有构造函数,这是避免其他程序建立该类对象
回复 使用道具 举报
自定义一个枚举类,演示枚举原理。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马