社区
Java
帖子详情
为什么java标准库有些类要使用静态方法构造对象?引申问题则是使用静态方法构造对象到底有何好处?
FengGLA
2017-02-26 11:09:41
java标准库中有些类不能使用构造方法构造对象,而是要使用该类的静态方法,比如LocalDate的now方法和of方法。恕我水平不够,看了部分LocalDate的源码也没有看出LocalDate如此设计的用意和好处何在,请问各位大神,使用静态方法构造对象的用意和好处到底有些什么呢?
...全文
187
2
打赏
收藏
为什么java标准库有些类要使用静态方法构造对象?引申问题则是使用静态方法构造对象到底有何好处?
java标准库中有些类不能使用构造方法构造对象,而是要使用该类的静态方法,比如LocalDate的now方法和of方法。恕我水平不够,看了部分LocalDate的源码也没有看出LocalDate如此设计的用意和好处何在,请问各位大神,使用静态方法构造对象的用意和好处到底有些什么呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
自由自在_Yu
2017-02-27
打赏
举报
回复
1、可以在不进行类变量声明并初始化的情况下,使用某类中的一些变量。 2、使类在声明被载入的同时,位于static中的初始化也同时完成。 3、在一些工厂类中,可以为全局提供一个唯一的对象句柄,而这个句柄在程序执行起来以后,就是构造好的,直接拿来就可以用。——这是静态方法代替构造函数最常见的用法。 缺点也很多。 1、一旦静态方法中的代码在载入中出现了错误,应用程序可能连正常初始化都无法完成。而使用构造函数的话,一般不会发生这个问题。 2、不灵活。构造函数可以在参数上进行控制,使类对象能满足不同的需要,静态函数初始化的方式很难满足这点。 3、使用范围较窄,通常只用在工厂函数中。 4、静态构造方式只在编译时由虚拟机执行一次,程序员不能手动调用,而构造函数可以在任何时候由程序员手动调用。
piterlin
2017-02-27
打赏
举报
回复
应该是工厂模式,查询一下“工厂模式”
Java
基础知识笔记-4-类
对象
和方法
Java
基础知识笔记-4-类
对象
和方法 4 类,
对象
和方法 1 类的基础知识 类是定义
对象
形式的模板,指定了数据,以及操作数据代码,
java
使用
类的规范来
构造
对象
,而
对象
是类的实例。因此,类实质上是一系列指定如何构建
对象
的计划,类是逻辑抽象结构,搞清楚这个
问题
非常重要,直到类的
对象
被创建时,内存中才会有类的物理表示。 封装(encapsulation, 有时称为数据隐藏)是与
对象
有关的一...
JAVA
类与面向
对象
JAVA
| 类与面向
对象
day8 对于任何的知识点我们都可以从这三个点去剖析: 3W => what? why? how? 面向过程与面向
对象
Java
面向
对象
学习的三条主线
Java
类及类的成员 属性、方法、
构造
器;代码块、内部类 面向
对象
的三大特征 封装性、继承性、多态性 其他关键字 this、super、static、final、abstract、interfac...
JAVA
基础知识二(面向
对象
、常用API)
五、面相
对象
1.面向
对象
面向过程和面向
对象
都是解决
问题
的一种思想模式。 面向过程:指的就是按照一定的步骤,逐一执行,将
问题
进行解决。 相当于是一个 执行者 角色。 面向
对象
:指的就是找
对象
(
对象
内部应该有所需要的那些功能)解决
问题
。 相当于是一个 指挥者 角色。 找
对象
,创建
对象
,调用其功能(方法) 封装
对象
创建
对象
调用其功能(方法) 注意:在
java
中,什么都是
对象
,具体的,抽象的、有生命的、无生命的都是
对象
千万不要局限于指的是人。 比如: 花、草、天气、电脑、人....
山东大学面向
对象
笔记 整理
第一部分
对象
,类等基础概念1、
对象
概念
对象
:从
问题
域中客观存在的事物出发来
构造
软件系统,用
对象
作为对这些事物的抽象表示,并作为系统的基本构成单位。属性:表示事物的静态特征服务(操作):表示事物的动态特征。封装:
对象
的属性服务结合一体,成为一个不可分割的实体,对外不暴露细节。分类:对事物进行分类。把具有相同属性和相同服务的
对象
归为一类,类是这些对......
高级语言中枚举(类)的用法
枚举跟普通类一样可以用自己的变量、方法和
构造
函数,
构造
函数只能
使用
private 访问修饰符,所以外部无法调用。 单例模式? static和常量的设计上有单例模式吗 values(), ordinal() 和 valueOf() 方法 enum 定义的枚举类默认继承了
java
.lang.Enum 类,并实现了
java
.lang.Serializable 和
java
.lang.Comparable 两个接口。 values(), ordinal() 和 valueOf() 方法位于
java
.
Java
51,412
社区成员
86,031
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章