农历(三月初四)
愚人节
关于
友情链接
Toggle navigation
Harries Blog™
追心中的海,逐世界的梦
首页
编程技术
Java
软件架构
移动开发
后端
前端
大数据
数据库
算法
人工智能
测试
代码管理
IT教程
springboot-demo
Java入门教程
bootstrap3
CSS
Apache基础教程
php
ionic 教程
Python
mysql教程
eclipse
Ubuntu VPS系统配置
AngularJS 教程
MongoDB教程
Struts2教程
Redis教程
springcloud-demo
Spring教程
Git教程
Jenkins进阶系列
openfire参考指南
Java设计模式
HBase教程
java-demo
Maven教程
hibernate教程
Docker 教程
memcached教程
Quartz指南
Hive教程
ANTLR教程
SpringCloud
Ant教程
java实例教程
Hazelcast教程
XStream教程
Elastic-Job-Lite
深入浅出MyBatis
ibaties教程
SVN教程
rabittmq教程
Hadoop教程
solr教程
WebService CXF学习
JPA教程
ActiveMQ中文指南
Java内存模型
dubbo教程
python3-demo
Linux入门视频教程
生活感悟
默认分类
博主自留地
一周一本书
一月一个人
互联网
互联网.出海
互联网.IPO
运维
Linux
docker
nginx
windows
操作系统
监控软件
vmware
虚拟化
tomcat
自动化
留言板
转载
发表于 2019年08月23日
浏览 (
652
)
评论 (0)
java核心卷Ⅰ第十版笔记4
第四章
不要编写返回引用可变对象的访问器方法。因为会破坏封装性。如果需要返回一个可变对象的引用, 应该首先对它进行克隆(clone )。对象 clone 是指存放在另一个位置上的对象副本。
final 修饰符大都应用于基本类型域,或不可变类的域(如果类中的每个方法都不会改变其对象,这种类就是不可变的类。例如,String类就是一个不可变的类)。对于可变的类,使用 final修饰符可能会对读者造成混乱。例如:
private final StringBuiIder evaluations;
在构造器中会初始化为
evaluations = new StringBuilder();
final 关键字只是表示存储在 evaluations 变量中的对象引用不会再指示其他StringBuilder对象。不过这个对象可以更改:`public void giveGoldStarO{evaluations.append(LocalDate.now() + ": Gold star!n"); }
System 类有一个 setOut 方法, 它可以将 System.out 设置为不同的流。为什么这个方法可以修改 final 变量的值。原因在于,setOut 方法是一个native方法,是用C/C++语言实现的,并且被编译成了DLL,由java去调用 而不是用 Java 语言实现的。实际上java就是在不同的平台上调用不同的native方法实现对操作系统的访问的。native的意思就是通知操作系统, 这个函数你必须给我实现,因为我要使用。 所以native关键字的函数都是操作系统实现的, java只能调用。这是一种特殊的方法, 在自己编写程序时, 不应该这样处理。
在下面两种情况下使用静态方法:一:方法不需要访问对象状态,其所需参数都是通过显式参数提供(Math.pow) 二:一个方法只需要访问类的静态域(例如:Employee.getNextldh
Java 程序设计语言对对象采用的不是引用调用,实际上,对象引用是按值传递的。总结一下Java中方法参数的使用情况:一个方法不能修改一个基本数据类型的参数(即数值型或布尔型)。一个方法可以改变一个对象参数的状态。 一个方法不能让对象参数引用一个新的对象。
可以为任何一个类添加 finalize 方法。finalize 方法将在垃圾回收器清除对象之前调用。在实际应用中,不要依赖于使用 finalize 方法回收任何短缺的资源, 这是因为很难知道这个方法什么时候才能够调用。
类设计技巧:1. 一定要保证数据私有 2. 一定要对数据初始化 3. 不要在类中使用过多的基本类型 4. 不是所有的域都需要独立的域访问器和域更改器 5.将职责过多的类进行分解 6. 类名和方法名要能够体现它们的职责 7.优先使用不可变的类,如果多个线程试图同时更新一个对象,就会发生并发更改。其结果是不可预料的。如果类是不可变的,就可以安全地在多个线程间共享其对象。
由三张图可知,加载顺序为父类静态变量-静态代码块-子类静态变量-静态代码块-父类代码块-父类构造方法-子类代码块-子类构造方法。
原文
https://segmentfault.com/a/1190000020163132
正文到此结束
赞
0
赏
分享
本文标签:
https
代码
http
编译
IDE
src
并发
java
数据
build
构造方法
UI
总结
静态方法
安全
final
Lua
线程
操作系统
id
tar
参数
垃圾回收
App
IO
版权声明:
本文为互联网转载文章,出处已在文章中说明(部分除外)。如果侵权,请
联系本站长
删除,谢谢。
本文海报:
生成海报一
生成海报二
上一篇
推荐一款 MyBatis 开发神器,为简化而生!
下一篇
快速入门 Java 后端开发的正确姿势
热门推荐
openfire数据库安装指南
浏览(14,770)
评论(0)
Caffe 深度学习框架上手教程
浏览(11,110)
评论(0)
ReactiveCocoa入门教程:第一部分
浏览(11,924)
评论(0)
开源HIDS-OSSEC使用实例:监测CC攻击
浏览(11,824)
评论(0)
Decorators in ES7
浏览(16,442)
评论(4)
用Electron(Atom编辑器的兄弟项目)开发桌面应用
浏览(29,412)
评论(0)
Windows下JetBrains CLion中文输出乱码的解决方法
浏览(12,866)
评论(1)
同步-@synchronized, NSLock, pthread, OSSpinLock性能比较
浏览(11,788)
评论(0)
【开班了】JAVA培训班正式招生
浏览(7,919)
评论(12)
Seaweedfs之Volume读请求重定向
浏览(26,083)
评论(3)
相关文章
并发环境下 HashMap 引起 full gc 排查
IFTTT开源Swift编写的帧动画框架--RazzleDazzle
【每日一博】iOS8 锁屏应用推送
深入理解Objective-C:方法缓存
Erlang基础 -- 介绍 -- 历史及Erlang并发
八种方式成就更出色的代码编写者
谷歌推荐的计算机科学学习路线
Kubernetes和Docker迷你新手训练营问答
Yuema约吗一起学习成长之路 他山之石,可以攻玉系列|springcloud(八):配置中心服务化和高可用
数据中台盛行,DataOps兴起,数据架构才是未来
说给你听
本文目录
随机标签
Snowflake算法
极客爱情
索引
ArchSummit
内容协商
CompletableFuture
server-zipkin
树莓派
峡湾
QQ邮箱
美科技公司
C++11
Akka Stream
Amoeba
美科技公司
理财
策略模式
GridFS
Netflix
Lock wait timeout exceeded; try restarting transaction
AIO
Apache Samza
olingo
Microsoft Office 2013
Slaves
TCP/IP
OpenAI
Curie
offline mode
爱美神
进度条
V4ip
@ActiveProfiles
分组查询
qwen:0.5B
HBase Shell
初创企业
构造方法
Zend Guard Loader
goaccess
业务层
微商营销
dependencies
QPS
JPA高级映射
软件工程师
E1子对象的E2。
dist
Snapshot
翻译
实例化bean类
书籍教程
springboot-demo
Java入门教程
bootstrap3
CSS
Apache基础教程
php
ionic 教程
Python
mysql教程
eclipse
Ubuntu VPS系统配置
AngularJS 教程
MongoDB教程
Struts2教程
Redis教程
springcloud-demo
Spring教程
Git教程
Jenkins进阶系列
openfire参考指南
Java设计模式
HBase教程
java-demo
Maven教程
hibernate教程
Docker 教程
memcached教程
Quartz指南
Hive教程
ANTLR教程
SpringCloud
Ant教程
java实例教程
Hazelcast教程
XStream教程
Elastic-Job-Lite
深入浅出MyBatis
ibaties教程
SVN教程
rabittmq教程
Hadoop教程
solr教程
WebService CXF学习
JPA教程
ActiveMQ中文指南
Java内存模型
dubbo教程
python3-demo
Linux入门视频教程
近期评论
admin
已加上
admin
大佬,你网站有一段时间打不开,我还以为你不做了呢
灰常记忆
??? 我的链接居然被你干掉了?
oliver
666 666
666
666
admin
文章和留言都翻到11页了 没有OOM
admin
我试一下
匿名
朋友,翻页到11页,及以后,会出现OOM,无法访问
可以
搞个gitee的项目
随机文章
站长推荐
近期文章
1
关于 Android N 那些你不知道的事儿
2
let-us-koa - 快速玩转 koa 的最小化 web 应用 "容器"
3
用 Google Cloud 打造你的私有免费 Git 仓库
4
AHK 中 = 和 == 等比较运算符的用法
5
Android 优化交互 —— CoordinatorLayout 与 Behavior
6
金融与开源的跨界组合 农信银的OpenStack创新之路
7
金融与开源的跨界组合 农信银的OpenStack创新之路
8
Java对象的内存布局
9
关于Java变量的可见性问题
10
Timer 源码解读[连载]
1
VPS 自我监控
2
springboot接入多个ES启动时候自检报错
3
配置虚拟站点
4
openfire协议支持指南
5
修改上传文件权限
6
OpenVZ VPS 额外支持
7
2015年北京下第一场雪留念
8
openfire定制指南
9
mysql存储过程实例一:游标的使用
10
Linux删除或者新增SWAP分区
1
Dify 服务器部署指南
2
Spring Boot对接twilio发送邮件信息
3
Spring Boot中对接Twilio以实现发送验证码和验证短信码
4
如何利用Twilio Verify 发送验证码短信?
5
windows安装volcengine-python-sdk失败
6
AWS S3 如何设置公开访问权限?
7
next.js快速入门
8
利用acme.sh 申请 Google 免费证书
9
spring boot对接clerk 实现用户信息获取
10
spring boot 对接aws 的S3 服务,实现上传和查询
网站信息
文章总数:82,760 篇
文件总数:284,373 个
标签总数:2,438 个
分类总数:85 个
留言数量:2,563 条
在线人数:691 人
运行天数:4,539天
最后更新:2025年04月01日09点
×
输入密码查看文章详情
×
搜索文章
搜索
热门搜索:
Java
Springboot
Linux
Maven
Bootstrap
阿里云
×
评论信息框
可以通过QQ号实时获取昵称和头像
QQ
昵称
邮箱
网址
提交评论
×
山无棱江水为竭,冬雷震震夏雨雪,才敢请君舍
支付宝
微信
转账时请备注“
博客赞助
”
Loading...