1.定义任务 实现Runnable 接口的类就是任务类(任务类不一定是实现Runnable接口的类). 实现Runnable 接口,重写run()方法,run方法的返回值只能是 void 任务类就是表示这个类要做什么,run是任务执行的入口,可以在run中完成任务也可以run调用其他方法完成任务. run 方法不会产生一个线程,必须把任务附着到线程上,线程才会执行任务. 有时run中通常存在某种形式的循环,一直等待着接收信息准备执行任务,多见于服务器. 2.Thread类 构造器接收一个 Run…
第二章  一切都是对象 尽管Java是基于C++的,但相比之下,Java是一种更纯粹的面向对象程序设计语言. c++和Java都是杂合型语言(hybird language) 用引用(reference)操作对象 类似遥控器(引用)来操作电视(对象) 在Java中你可以创建一个引用,但是没有与任何对象关联,比如: String s; 这个时候如果用则会报错.安全的做法是: 创建一个引用的同时并进行初始化 String s="1111"; 必须由你创建所有对象 New关键字的意思是给我一…
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基础,把面向对象部分学完之后本来打算继续深入学习,但是感觉自己操之过急了,基础根本不够扎实,所以入手了一本<Java编程思想>,希望先把基础打好,再深入学习. 不得不说这本书真的不是浪得虚名,对于我这样的新手看完一二章之后也觉得这本书值得买了.跟网上教程不同,这本书一开始便直接全面深入论述Java面向对象编程中对对象的理解,值得注意的是如果之前没有Java编程的基础,第一章看起来会比较吃力,而且效果也不太好,因为都是理论没有使用代码进行演示说明,所以作者也支…
Java编程思想笔记(一)--static 看<Java编程思想>已经有一段时间了,一直以来都把笔记做在印象笔记上,今天开始写博客来记录. 第一篇笔记来写static关键字. static static表示"全局"或者"静态"的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块,但是Java语言中没有全局变量的概念. 被static修饰的成员变量和成员方法独立于该类的任何对象.也就是说,它不依赖类特定的实例,被类的所有实例共享. 只要这个…
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++…
Alan Kay 第一个定义了面向对象的语言 1.万物皆对象 2.程序是对象的集合,他们彼此通过发送消息来调用对方. 3.每个对象都拥有由其他对象所构成的存储 4.每个对象都拥有其类型(TYpe) 5.某一特定类型的所有对象都可以接收同样的消息.   Booch提出一种更简洁的描述:     对象拥有状态(state) 行为(behavior) 和标识(identity) 每个对象都有一个接口 每个对象都属于定义了特性和行为的某个类(特性可以理解为属性的状态,行为可以理解为method) 在面向…