《head first java》值得Java或面向对象基础的新手看。

看完这本书后本人收获良多。

内容对Java以及面向对象的入门者非常友好。

抽象的内容惯用图解的方法来剖析,通俗易懂

之前看C#入门经典的面向对象时,依然浓浓的一头雾水。

(1)很不解为何实例化要写成A a  = new A();

    不解为何“A要重复写两次”;

    不解为何“等号两边都有A,感觉它就像在说‘A=A’这样的废话一样”;

(2)不知道什么是多态性,为什么是面向对象的特点,有什么好处等等。

(3)不知道被抽象(abstract)修饰的类,修饰类到底是什么个东西。

    后来明白了,抽象类就是不能被实例化的类。

    为什么不能实例化呢?因为它不能或不该被实例化。例如:Animal这个类,可以实例化它的子类如Dog, Cat, Mouse这些具体的类、具体的动物。但就是没有叫Animal——动物的这一种"动物","动物"是一个抽象的概念,应该是抽象的类。不能被实例化。(我们平常看到的只能是猫狗兔鼠这些动物,不可能看到“动物”这种动物。)

时间: 2024-08-25 10:52:05

《head first java》值得Java或面向对象基础的新手看。的相关文章

【小白的java成长系列】——面向对象基础

今天来说说java面向对象的知识点~事实上.java在其发展过程中可以成功.非常大一部分原因是其面向对象的思想~ 1.概念 如今来说面向对象思想.也不是什么新的知识点了,我们知道如今非常多语言都有面向对象的思想了:当然我们还知道如今依然非常火的C语言.事实上还是面向过程的语言.包含近期一段时间也出现了非常多新的思想,比方面向函数,面向分布式,面向...等等一系列的东东,事实上这些都仅仅是一个概念而已~ 在面向对象中.实际上还存在着三个基本的特性: ·封装性:保证对外部不可见: ·继承性:继续发扬

java学习02(面向对象基础)

1.对象可以简单认识成一个内存块,一个区域. 2.内存分为:栈内存,堆内存,方法区(堆的一部分,包括类的信息,静态方法,静态变量,字符串常量),这点对理解很多东西都很有用 3.包先简单理解成一个文件夹(域名倒着写) 4.面向对象: 继承: 类只能单继承,接口才可以多继承 子类构造函数调用前默认会调用super(),调用父类的构造函数 子类重写父类的方法遵循的原则: 方法名,参数列表要相同    返回值类型与申明异常类型,子类要小于父类    访问权限子类大于等于父类 封装: 原则:高内聚,低耦合

【Java面向对象基础(三)】面向对象思想

[喵"的Android之路][基础篇(三)][Java面向对象基础]面向对象思想 1 面向对象的WWH 1.1 What--什么是面向对象 首先,要理解“对象”.在Thinking in Java中提到“Everything is an object”,即万物皆对象.这里的“对象”指的是任何实体或者任何可以当作实体看待的“虚幻的事物”.比如现实中的人(男人.女人.老人.小孩而...).动物(大象.狮子.猴子...).桌子.凳子.汽车.ATM机等等,也可以使看不见摸不着的空气(氧气.二氧化碳.氮气

【Java面向对象基础(一)】数据类型与运算符

[喵"的Android之路][基础篇(一)][Java面向对象基础]数据类型与运算符 1.数据类型介绍 在Java中,数据类型分为两种:基本数据类型和引用类型. 基本数据类型共8种,见下表: 基本数据类型 字节数 二进制位数 最小值 最大值 默认值 byte 1 8-bit -2^7 +2^7 - 1 0 short 2 16-bit -2^15 +2^15 - 1 0 int 4 32-bit -2^31 +2^31 - 1 0 long 8 64-bit -2^63 +2^63 - 1 0

【Java面向对象基础(二)】细说String、StringBuffer和StringBuilder

[喵"的Android之路][基础篇(二)][Java面向对象基础]细说String.StringBuffer和StringBuilder 1.String String是Java中的一个final类,主要用于字符串的处理. 1.1 不可变性 String内的字符串是不可变的,每一次修改都会重新生成一个新的String对象实例. 例: 1 // 在堆中会创建一个"Hello"字符串实例,把地址赋给对象a 2 String a = new String("Hello&

Java入门——面向对象基础(一)

Java入门——面向对象基础(一) 本博客目的 练习题(重要) 面向对象的概念(了解) 面向对象的三大特性(重要) 2016-09-10——13:13:39 ll练习题 用方法调用的形式进行数组排序 1 package Sep10; 2 //调用方法完成两个整形数组的排序并打印 3 public class ArrayRefDemo03 { 4 5 /** 6 * @param args 7 */ 8 public static void main(String[] args) { 9 // T

《Java从小白到大牛》之第10章 面向对象基础(下)

<Java从小白到大牛>纸质版已经上架了!!! 封装性与访问控制 Java面向对象的封装性是通过对成员变量和方法进行访问控制实现的,访问控制分为4个等级:私有.默认.保护和公有,具体规则如表10-1所示. 表 101 Java类成员的访问控制 可否直接访问控制等级 同一个类 同一个包 不同包的子类 不同包非子类 私有 Yes 默认 Yes Yes 保护 Yes Yes Yes 公有 Yes Yes Yes Yes 下面详细解释一下这4种访问级别. 私有级别 {#-0} 私有级别的关键字是pri

第二十五节:Java语言基础-面向对象基础

面向对象 面向过程的代表主要是C语言,面向对象是相对面向过程而言,Java是面向对象的编程语言,面向过程是通过函数体现,面向过程主要是功能行为. 而对于面向对象而言,将功能封装到对象,所以面向对象是基于面向过程的.以前是主要以面向过程为思想,现在是将功能装进对象中,如果要用到功能时,就调用该对象即可. 面向对象是入门思想的进步,适用于人类的思考,将复杂的东西进行了简单化,将我们程序员从执行者变化成指挥者.由以前面向功能(面向过程)转变为面向对象(封装的功能). **** 面向对象设计思想 设计思

Java学习 &#183; 初识 面向对象基础一

面向对象基础 1.1面向过程与面向对象的区别 面向过程和面向对象二者都是思考问题的方式,再简单的事物时,可以线性思考时使用面向过程,但当事物较为复杂时,只能使用面向对象设计.但二者并不是对立的,在解决复杂问题时,通过面向对象的方式把握事物之间复杂的关系,方便分析整个系统:具体到微观时,仍然使用面向过程设计. 以开车为例,面向过程中思考 有一辆车 驾驶员上车 挂挡踩离合 车开动 而面向对象中思考 有车.驾驶员这两个个对象 车拥有挂挡离合这几个方法(还拥有属性,如性能外观) 人拥有挂挡踩离合这几个方