Head First Java读书总结

本文是关于《Head First Java》的读书笔记,重点介绍了Java的基础语法、类与对象、多态、继承、异常处理、图形用户接口、Swing框架、序列化等方面。文章通过实例展示了如何使用Java API,探讨了面向对象设计的关键概念,并简要涉及了网络、线程、数据结构和部署等内容。
摘要由CSDN通过智能技术生成

    纵观全书,这本书的重点在Java的基础语法、对象、多态与继承等概念上的讲解(讲得挺好的),对于一些异常处理、线程、IO、网络方面更多是简单的介绍,并没有深入讲解。
尽管如此,我还是通过阅读这本书学习的到了一些新的东西。这篇笔记,就是为了整理记录这些新学到的知识,以巩固我对这些知识的掌握。

在这里插入图片描述

1.基本概念:进入Java世界

  • Java特性:面向对象、内存管理、跨平台可移植性
  • Java工作方式:编写源代码(存为Party.java)——>编译器运行源代码(执行javac程序来编译Party.java)——>输出(编译器产生字节码 编译成代码Party.class)——>Java虚拟机(JVM)读取执行字节码(JVM运行Party.class文件,字节码转换为平台可理解的形式来运行)
  • Java的程序结构 类存在于源文件里面《—方法存在于类里面《——语句(statement) 存在于方法中
    一个程序只有 main()方法 来运行程序。

2.类与对象 对象

  • 对象本身已知的事物被称为: 实例变量 ; 对象可以执行的动作称为:方法 ; 类不是对象(对象是靠类的 模型 塑造出来的)
  • main()方法 的两种思想: (1)测试真正的类 (2)启动你的Java应用程序

3.primitive主数据类型和引用 认识变量

  1. 变量类型有两种:primitive主数据类型和引用。 变量的声明必须拥有类型,变量必须要有名称。

  2. primitive主数据类型变量有下列8种:byte(8 bits)、short(16)、int(32 bits)、long(64 bits)、 float(32 bits)、double(64 bits)、boolean(true or false)、char(16 bits)

  3. 命名时避开关键字,否则编译器会出错。

  4. Dog myDog = new Dog(); 对象的声明、创建和赋值有3个步骤:(1)声明一个引用变量 Dog myDog (2)创建对象 new Dog(); (3)连接对象和引用 =

  5. 数组永远是个对象。

4. 方法操作实例变量 对象的行为

  1. 实例变量(状态)方法(行为) 类所描述的是 对象知道什么执行什么。类定义对象的所知和所为,对象所知者为实例变量,对象所为者是方法。

  2. 方法会应用 形参,调用的一方会传入 实参

  3. JAVA是通过值传递的,也就是说通过拷贝传递的。

  4. 方法只能声明单一的返回值,如果需要返回3个int值,就把返回类型说明为int的数组,将值装进数组中来返回。

  5. 你可以调用返回非void类型的方法而不必理会返回值,这代表你用的是方法而不是返回值。可以不指派返回值。

  6. getter的目的就是返回实例变量的值,setter的目的是取用一个参数来设定实例变量的值。

  7. 封装的原则:将实例变量标记为private,将getters和setters标记为public。提供公共的getter和setter来控制存取动作。 任何有值可以被运用到的地方,都可用调用方法的方式来取得该类型的值。

  8. 实例变量永远都会有默认值。int 为0,float、double为0.0,boolean为false,引用类型 为null,null代表没有操作对象的远程控制,它是个引用而不是对象。

  9. 实例变量与局部变量:实例变量是声明在类内而不是方法中的,会被自动初始化。局部变量是声明在方法中的。局部变量被声明前必须被初始化,否则编译器报错。方法中的参数本质上也是局部的,但如果调用方法没有赋值参数编译器报错,所以说参数一定要初始化。

  10. 使用 == 来比较两个primitive主数据类型,或者判断两个引用是否引用同一个对象。 使用 equals()来判断两个对象是否意义上相等。(像是两个String对象是否带有相同的字节组合)

5.编写程序 超强力方法

  1. 使用Integer.parseInt()来取得String的整数值,Integer.parseInt()只在所给的String为数字时有作用,简单理解为:把 “1” 通过 Integer.parseInt 转换为 1 ,String转换为Int类型

for(int cell:locationCells){ } //增强for循环(也叫 forEach循环)

  1. Java程序应从高层的设计开始,通常在创建新类时写出下列3种东西:伪码、测试码、真实码。伪码应该描述要做什么事,而不是怎么做。实现方法之前应该要编写测试码。

  2. ArrayList add(Object elem)remove(int index)remove(Object elem)contains(Object elem)isEmpty()indexOf(Object elem)size()get(int index)

ArrayList操作 
//1.创建 
ArrayList<Egg> myList = new ArrayList<Egg>();//新的ArrayList对象会创建在堆上 
//2.加入元素 
Egg s = new Egg(); myList.add(s);//此ArrayList会产生出来一个“盒子”来存放Egg对象 
//3.再加入元素 
Egg b = new Egg(); myList.add(b); 
//4.查询大小 
int theSize = myList.size(); 
//5.查询特定元素 
Boolean isIn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值