Thinking In Java读书笔记–对象导论

Thinking In Java读书笔记–对象导论

Thinking In Java读书笔记–对象导论
【对象】
服务提供者==>将对象看做一个服务提供者
【程序员分类】
【类创造者】/【客户端程序员】

【访问控制存在的原因?】
【1】客户端程序员无法触及他们不该触及的部分
【2】允许库设计者/类创造者改变类的内部工作方式而不用担心会影响客户端程序员

【Java访问指定词,access specifier】
public private protected

【组合,composition】
【聚合,aggregation】
【has-a,拥有关系】

【继承】==>【类族】  
[ 基类/超类/父类]
[导出类/继承类/子类]
两种方法可以使得基类和子类产生差异
【1】为子类添加新的方法、行为
【2】覆写[overriding]父类的方法行为

【是一个与像一个】
【is-a】纯粹替代  替代原则   子类完全替代基类对象  不对基类做扩展
【like-a】 子类在基类的基础上扩展基类的行为

【伴随多态的可互换对象】
【前期绑定】
【后期绑定】当向对象发送消息时,被调用的代码直到运行时才能够确定

【转型,Cast】
[向上转型,UpCasting]将导出类看做他的基类
[向下转型]向下转型为更具体的类型==>子类,如何保证正确的进行向下转型?

【单根继承结构】
保证了所有对象都具备某些功能
使得垃圾回收变得容易得多

【容器】
[集合]
【对容器的需要做出必要的选择】
[1]不同容器提供了不同类型的机构和外部行为
[2]不同的容器对于某些操作具有不同的效率
【参数化类型,泛型<T>】

【对象的创建和生命期】
使用对象的最关键问题之一,生成和销毁的方式
[对象的存在都需要一定的资源,特别是内存]
[不在使用的对象应该尽快的释放掉,使其占用的资源能够得到释放和重用]
【对象的生命周期】
【垃圾回收器】
[被设计用来处理内存释放的问题,“知道”对象何时不在被使用,并自动释放对象占用的内存]

【异常处理,处理错误】
Java从一开始就内置了异常处理机制

【并发编程】
[同一时刻处理多个任务的思想]
【并发编程的一个隐患】
[共享资源]==>处理办法:对共享的资源在线程使用期间锁定,任务线程完成其任务后,释放资源锁,其他线程方可使用这项资源

【Java与Internet】
[客户/服务器计算技术]
中央信息存储池,Central repository of information
[Web就是一台巨型服务器]
[web浏览器的优势:一段信息在不经过修改就可以在任何型号的计算机上显示]

转载于:https://www.cnblogs.com/bea084100123/p/4839360.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109315.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • handlerInvocation的invoke方法

    handlerInvocation的invoke方法java.lang.reflect.Proxy类的newProxyInstance(),是用于创建动态代理类和实例的静态方法.返回一个指定接口的代理类实例,该接口可以将方法调用指派到指定的调用处理程序。java.lang.reflect.InvocationHandler接口中的invoke(),在代理实例上处理方法调用并返回结果。当与方法关联的代理实例上调用方法时,将在调用处理程序上调用此方法…

    2022年5月12日
    50
  • sobel算子实现

    sobel算子实现原理:实现://阶乘intfactorial(intn){ intfac=1; if(n==0) returnfac; for(inti=1;i<=n;++i) fac*=i; returnfac;}//获得Sobel平滑算子MatgetSobelSmooth(intsize){ intn=size-1; MatSobelSmoothoper=Mat::zeros(size,1,CV_32F); fo

    2022年7月14日
    19
  • 视频直播技术详解之直播云SDK性能测试模型[通俗易懂]

    视频直播技术详解之直播云SDK性能测试模型[通俗易懂]声明:本文为CSDN原创投稿文章,未经许可,禁止任何形式的转载。作者:七牛云责编:钱曙光,关注架构和算法领域,寻求报道或者投稿请发邮件qianshg@csdn.net,另有「CSDN高级架构师群」,内有诸多知名互联网公司的大牛架构师,欢迎架构师加微信qshuguang2008申请入群,备注姓名+公司+职位。七牛云于6月底发布了一个针对视频直播的实时流网络LiveNet和完…

    2022年7月21日
    21
  • webstorm激活码最新2021(注册激活)

    (webstorm激活码最新2021)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~MLZPB5EL5Q-eyJsaWNlb…

    2022年3月21日
    229
  • Kotlin与Java的异同(一)

    Kotlin与Java的异同(一)Kotlin简介Kotlin是一种针对Java平台的新编程语言。Kotlin简洁、安全、务实,并且专注于与Java代码的互操作性。它几乎可以用在现在Java使用的任何地方:服务端开发、Android应用等等。Kotlin可以很好地和所有现存的Java库和框架一起工作,而且性能和Java旗鼓相当。Kotlin特点:Kotlin是静态类型语言并支持类型推导,允许维护正确性与性能的同时保…

    2022年7月7日
    46
  • 手把手教你用idea搭建ssm项目并实现简单demo(超详细)

    手把手教你用idea搭建ssm项目并实现简单demo(超详细)闲暇之余,想搭建一个ssm项目玩玩,结果发现,不百度根本打不出来,搭建出来也有一堆问题,所以在此一步一步记录一下。使用idea搭建ssm项目,首先就是将整个框架整起来如果已经在项目中了,点击左上角file->new->project(刚打开idea是新建->project)[image1]左侧栏目选择maven并勾选createfromarchetype,然后在下面找到org.apache.maven.archetype:maven-archetype-weba

    2022年6月16日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号