1.组合 将其他类的对象引用置于新的类中. 3.继承 extends 从已知的一个类中派生出新的一个类,叫子类.子类实现了父类所有 非私有化 非静态 的属性和方法,并能根据自己的实际需求扩展出新的行为. 继承在内存中其实是先复制一个父类然后添加自己的字段方法. 子类中调用继承下来的方法也不需要基类对象引用.继承相当于对基类的一个扩展,因为基类有的它都有,再额外添加了一些域和方法(或覆写方法)而已. 子类不能直接访问父类的private字段方法.但是,如果子类继承了访问父类私有字段的公共或受保护方…
第七章 复用类 第一种方法非常直观:只需在新的类中产生现有类的对象(组合). 第二种方法更细致一些:它按照现有类的类型来创建新类(继承). 7.1 组合语法   只需将对象引用置于新类中即可. class A{} class B{ A a = new A(); }   如果想初始化这些引用,可在下列位置进行: 在定义对象的地方. 在类的构造器中. 在真正使用这些对象之前,惰性初始化. 使用实例初始化. 7.2 继承语法 当创建一个类时,总是在继承.   在继承过程中,需要先声明"新类与旧类相似&…
date: 2019-09-06 15:10:00 updated: 2019-09-24 08:30:00 Java编程思想 笔记 1. 四类访问权限修饰词 \ 类内部 本包 子类 其他包 public √ √ √ √ protected √ √ √ default(friendly) √ √ private √ protected:处理的是继承的概念.子类 extends 父类,如果父类希望某个特定成员,把对它的访问权限赋予派生类而不是所有类,即可以使用 protected. 2. 8个基本…
java编程思想笔记(1) 一,对象的创建和生命周期 对象的数据位于何处?怎样控制对象的生命周期? 在堆(heap)的内存池中动态地创建对象. java完全采用了动态内存分配方式. 二,垃圾回收器 自动发现对象何时不在使用. 避免暗藏的内存泄漏问题. System.gc() 强制进行终结动作. 垃圾回收器对于提高对象的创建速度有明显效果.存储空间的释放会影响存储空间的分配. 垃圾回收器不等于析构函数,也不能替代析构函数. 三,用引用操作对象 创建引用,指向对象,进而操作对象 对于基本类型,不用n…
Java编程思想笔记(一)--static 看<Java编程思想>已经有一段时间了,一直以来都把笔记做在印象笔记上,今天开始写博客来记录. 第一篇笔记来写static关键字. static static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享. 只要这个…
前段时间一直通过网络教程学习Java基础,把面向对象部分学完之后本来打算继续深入学习,但是感觉自己操之过急了,基础根本不够扎实,所以入手了一本<Java编程思想>,希望先把基础打好,再深入学习. 不得不说这本书真的不是浪得虚名,对于我这样的新手看完一二章之后也觉得这本书值得买了.跟网上教程不同,这本书一开始便直接全面深入论述Java面向对象编程中对对象的理解,值得注意的是如果之前没有Java编程的基础,第一章看起来会比较吃力,而且效果也不太好,因为都是理论没有使用代码进行演示说明,所以作者也支…
Java是基于C++的,但Java是一种更纯粹的面向对象程序设计语言,和C++不同的是,Java只支持面向对象编程,因此Java的编程风格也是纯OOP风格的,即一切都是类,所有事情通过类对象协作来完成. 在Java中,使用引用来操纵对象,在Java编程思想的第四版中,使用的术语是“引用(reference)”,之前有读过Java编程思想第三版,在第三版中,使用的术语是“句柄(handle)”,事实上,我觉得第三版的术语“句柄”更加形象传神,就像你用一个门的把柄来开门关门一样,不用管门是什么门,总…
java位移操作主要有两种: 有符号位移:有符号位移会保留原有数字正负性,即正数依然是正数,负数依然是负数. 有符号位左移时,低位补0. 有符号右移时:当数字为正数,高位补0.当数字为负时高位补1. 无符号位移:无符号位移不能保持原有正负性,与有符号位移的主要差异主要体现在右移时, 无论数字是正数还是负数,高位统一补0.(无符号左移低位依然是补0) java编程思想里面有这样一句话:当int型数据位移时,只有数值右端的低5位才有用,long型数值只会用到数值右端的低6位. 这里的数值指的是右操作…
所有编程语言都提供抽象机制. 面向对象编程似乎是一种很好的编程思想和方式,面向对象编程中的对象简洁描述是:对象具有状态.行为和标识.状态指的是数据存储,存储的数据能反应状态:行为指的是方法,方法表示对象能做什么事情:标识是用于识别对象的,即对象名. Java和C++的第一个不同点:在Java中,动态绑定是默认行为,不需要额外关键字来说明,而在C++中默认是非动态的,如需动态特性,则需要关键字virtual来说明. Java和C++的第二个不同点:在Java中,只允许单继承,不允许多继承,而C++…
欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/51040237 "进行面向对象的设计时,一项主要的考虑是:怎样将发生变化的东西与保持不变的东西分隔开." Java 推出了"訪问指示符"的概念,同意库创建者声明哪些东西是客户程序猿能够使用的,哪些是不可使用的.这样的訪问控制的级别在"最大訪问"和"最小訪问"的范围之间,分别包含:public,"友好…