Java教程

《Java 核心技术 卷1》 笔记 第四章:类与对象

本文主要是介绍《Java 核心技术 卷1》 笔记 第四章:类与对象,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

4.1 概述

面向过程:着重完成整个过程的具体步骤。

面向对象:着重谁要做什么,然后再按具体的类与对象,逐步细化。

示例:把大象塞进冰箱分几步?

面向过程:

1. 把冰箱门打开

2. 把大象塞进去

3. 把冰箱门关上

面向对象:

1. 建立三个主体,我,冰箱,大象

2. 我操作冰箱,过程是把冰箱打开

3. 我操作大象,运输大象并把它塞入冰箱

4. 我操作冰箱,过程是把冰箱关上

特点:少量步骤,面向过程更简洁,面向对象更明确主体责任,适合于操作繁杂,处理事务多的交互系统。

4.1.1 类

就是根据需要,对事务进行类别的划分。比如车可以分为:火车、汽车。火车对应于可以大量远距离运送资源和载人,汽车更适用于少量人短途运送。两者的运力和速度根据类别的不同有所区别。

实例化:类创造对象的过程。比如人是类,人当中的你我就是具体的对象。母亲生娃过程就是实例化。

封装:把数据和行为放入同一个类挡住,并对外界做出适当隐藏,阻止外界对对象进行不合法的操作。类似保管你家里钥匙的人,只有特定的几个。其他人不能直接进入你家中,只有通过有钥匙的主人(你的家人等)间接拜访。

继承:保留父类的行为,同时进行扩展。更类似于继承父辈财产,再创造新的财富的过程。

4.1.2 对象

三个主要特性(不会考,其他书中没有这个概念)

行为:能进行什么操作,用什么方法

状态:当前对象的形态特点,无法作为唯一标识,但可以作为筛选对象的方式

ID:两个状态完全相同的对象,不能称之为同一个对象。比如有两个人,他们长得非常像,但是不能称之为一个人,因为他们的身份证号不一样。

4.1.3 识别类

1. 什么东西可以作为类?

在需求中的名次,可以作为类。比如上面的“把大象塞进冰箱”,它其实主语是人,“人把大象塞进冰箱”,人、大象、冰箱,就可以作为类。

2. 哪些可以作为行为?

主动操作者作为类,主动的操作动词可以放入类当中。如“塞”。就可以放如人对应的类中,作为其中的一种操作。

3. 哪些可以作为状态?

操作的限定条件。特定情况可以进行特定操作,比如“人把大象塞进冰箱”中的冰箱。关闭状态下的冰箱,只支持开启,开启状态的冰箱,能塞东西和关闭。这个状态就冰箱门的开启、关闭状态。

4.1.4 类的关系

依赖:操作的主体,有关系,但是不强烈。比如“人把大象塞进冰箱”,是人这个类进行操作,操作大象和冰箱。但是大象和冰箱两个主体要由人来操控。

聚合:不同的东西合起来构成。比如一个班级有黑板,有粉笔,有讲台,有老师,有学生。

继承:近似于扩展。比如图形有面积,有周长。圆是一种图形,在图形的基础上,扩展了半径的概念。

4.2 使用现有的类

比如前面的字符串,StringBuilder 类,就是一种具体的类型。

4.2.1 对象与对象变量

格式:

type varriableName = new type();

例如:

StringBuilder sb = new StringBuilder();

所有对象都拥有一个特殊的值:null,代表没有任何指代,没有找到的意思。没有实例化的对象,也可以优先赋值为null,例如:

public class Main {
    public static  void main(String[] args){
        StringBuilder sb = null;
        Random r=  new Random();
        int x = r.nextInt();
        if(x%2==0){
            sb = new StringBuilder("even");
        }else{
            sb = new StringBuilder("odd");
        }
        System.out.println(sb.toString());
    }
}

对象和对象变量区别:对象可以只定义对象名,而不进行初始化,这种情况只能称之为对象变量,而不能称之为对象。对象变量可以初始化对象,也可以使用一个对象变量为对象变量进行赋值操作。对象变量只是引用对象,而非实际包含对象。

实际上,对象变量相当于绑气球的线。同一根线只能绑一个气球,同一个气球却可以使用多跟线去捆绑。

null值对象不能调用其方法:

public class Main {
    public static void main(String[] args){
        String s = null;
        System.out.println(s.length());
    }
}

 

 系列内容

《Java 核心技术 卷1》 笔记:第一章 Java程序设计概述

《Java 核心技术 卷1》 笔记:第二章 Java程序设计环境

《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(1)

《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(2)

《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(3)

《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(4)

《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(5)

《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(6)

《Java 核心技术 卷1》 笔记:第三章 Java基本的程序设计结构(7)大数处理、数组、多维数组、控制台传参

喜欢的话,点个赞吧~!平时做题,以及笔记内容将更新到公众号。

关注公众号,互相学习:钰娘娘知识汇总

这篇关于《Java 核心技术 卷1》 笔记 第四章:类与对象的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!