疯狂Java讲义第五版读书笔记

疯狂Java讲义第五版读书笔记

文章目录

第一章:Java语言概述与开发环境

1.1、Java程序运行机制

Java程序要经过先编译、后解释两个步骤

Java执行的两个步骤

Java 语言里负责解释执行字节码文件的是Java 虚拟机

JVM的作用很容易理解,就像有两支不同的笔,但需要把同一个笔帽套在两支不同的笔上,只有为这两支笔分别提供一个转换器,这个转换器向上的接口相同,用于适应同一个笔帽;向下的接口不同,用于适应两支不同的笔。在这个类比中,可以近似地理解两支不同的笔就是不同的操作系统,而同一个笔帽就是Java字节码程序,转换器角色则对应JVM。类似地,也可以认为JVM分为向上和向下两个部分,所有平台上的JVM向上提供给Java字节码程序的接口完全相同,但向下适应不同平台的接口则互不相同。

jdk1.5版本以后不用去设置环境变量

1.2、Java第一个程序

public class Study {
   
    public static void main(String[] args) {
   
        System.out.println("hello world");
    }
}

1.3、Java命名规范

1.3.1、包命名

常采用顶级域名作为前缀,例如com,net,org,edu,gov,cn,io等,随后紧跟公司/组织/个人名称以及功能模块名称。下面是一些包命名示例:

package org.springframework.boot.autoconfigure.cloud
package org.springframework.boot.util
package org.hibernate.action
package org.hibernate.cfg
package com.alibaba.druid
package com.alibaba.druid.filter
package com.alibaba.nacos.client.config
package com.ramostear.blog.web
1.3.2、类命名、接口命名、抽象命名

类(Class)通常采用名词进行命名,且首字母大写,如果一个类名包含两个以上名词,建议使用驼峰命名(CamelCase)法书写类名,每个名词首字母也应该大写。

public class UserDTO{
   
}
class EmployeeService{
   
}
class StudentDAO{
    
}
class OrderItemEntity{
     
}
public class UserServiceImpl{
       
}
public class OrderItemController{
       
}
public abstract class AbstractRepository<T>{
   
}

1.3.3、方法命名、变量命名
public User getOne(){
   
    
}
private String nickName;
private String mobileNumber;
private Long id;
private Long orderItemId;


第二章:面向对象

Java中万物皆为对象

2.1、程序设计的三种结构

不管是哪种结构,只有一个入口点a和一个出口点b

2.1.1、顺序结构

虽然Java是面向对象的编程语言,但Java的方法类似于结构化程序设计的函数,因此方法中代码的执行也是顺序结构。

2.1.2、选择结构

2.1.3、循环结构

即先判断后执行,所以被称为当型循环

因为是“直到条件为假时结束循环”,是先执行后判断,所以被称为直到型循环

2.2、面向对象的设计简介

2.2.1、简要描述:

​ 面向对象是一种更优秀的程序设计方法,它的基本思想是使用类、对象、继承、封装、消息等基本概念进行程序设计,采用面向对象方式开发的软件系统,其最小的程序单元是类,这些类可以生成系统中的多个对象,而这些对象则直接映像成客观世界的各种事物。

2.2.2、 类的简单定义

​ 面向对象的软件系统由多个类组成,类代表了客观世界中具有某种特征的一类事物,这类事物往往有一些内部的状态数据,面向对象的语言不仅使用类来封装一类事物的内部状态数据,而且类会提供操作这些状态数据的方法,还会为这类事物的行为特征提供相应的实现,这种实现也是方法。

等式:成员变量(状态数据)+方法(行为)=类定义

2.2.3、面向对象与面向过程

情景:猪八戒吃西瓜
在面向过程的程序世界里,一切以函数为中心,函数最大,因此这件事情会用如下语句来表达:

吃(猪八戒,西瓜);

在面向对象的程序世界里,一切以对象为中心,对象最大,因此件事情会用如下语句来表达:

猪八戒.吃(西瓜)

面向对象更容易理解

2.2.4、面向对象三大基本特征

封装(Encapsulation)、继承(Inheritance)和多态(Polymorphism)

除此之外,抽象也是面向对象的重要部分,抽象就是忽略一个主题中与当前目标无关的那些方面,以便更充分地注意与当前目标有关的方面。

2.3、面向对象特征

2.3.1、类与对象

具有相同或相似性质的一组对象的抽象就是类,类是对一类事物的描述,是抽象的、概念上的定义;对象是实际存在的该类事物的个体,因而也称为实例(instance)。

对象的抽象化是类,类的具体化就是对象

可以把类理解成某种概念、定义,它规定了某类对象所共同具有的数据和行为特征。

2.3.2、类的结构关系

一般→特殊关系

这种关系就是典型的继承关系,Java语言使用extends关键字来表示这种继承关系,Java的子类是一种特殊
的父类。因此,这种一般→特殊的关系其实是一种“is a”关系。

整体→部分结构关系

也被称为组装结构,这是典型的组合关系,Java语言通过在一个类里保存另一个对象的引用来实现这种组合关系。因此,这种整体→部分结构关系其实是一种“has a”关系。

第三章:数据类型与运算符

3.1、注释

程序注释是源代码的一个重要部分,对于一份规范的程序源代码而言,注释应该占到源代码的1/3以上。

3.1.1、单行注释
//public class Study {
   
//    public static void main(String[] args) {
   
//        System.out.println("hello world");
//    }
//}
3.1.2、多行注释
/*
public class Study {
    public static void main(String[] args) {
        System.out.println("hello world");
    }
}
 */
3.1.3、文件注释
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值