• 【第三章-1】面向对象——类与对象基本概念


    目录

    1.引例

    2.类class

    3. 面向对象中什么是对象?

    4.类和对象的关系

    5.面向对象编程

    6.IDEA创建类与对象

    7.成员变量

    8.IDEA上代码练习成员变量

    9.什么是方法

    10.包Package(详细参考)

    11.访问修饰符

    12.面向对象与面向过程


    1.引例

    两个同学:

    学号

    姓名

    性别

    手机号

    20171001

    王草

    18610022345

    20171002

    李花

    13820490902

    如何Java代码表示这两组数据

    用代码表示的内容有什么相同之处。

    问题:

    - 同样是表示姓名,为什么一个叫 name_1 一个叫 name_2 ?
    - int double boolean String 都是数据类型。为什么不建一种新的类型来表示学生这种复杂的信息呢?

    2.类class

    , class :用于描述一种数据类型

    Java里,通过新建 class 来描述各种自定义的数据类型。一个class可以若干基本类型的组合

    如上面的表格我们可以通过创建一个自定义类,来保存其结构对应列的数据。像这种有固定结构的数据类型,在业界称为结构数据。

    动手尝试:根据类的语法,创建一个能保存刚刚表格数据的类。

    3. 面向对象中什么是对象?

    ”世间万物皆对象“,意思是我们生活中所能看见的一切,在Java中都可以称之为对象,比如一根笔、一个动物、太阳、手机等等。这些生活中一个个肉眼可见的物体,都可以叫做对象。

    那么,类和对象又有什么关系呢?

    4.类和对象的关系

      类和对象又有什么关系呢?我们知道现实生活中所有物品(有生命的、以及没有生命的),都叫做对象。同样的,两个不同品牌的笔是两个对象(你可以把笔拟人化,类似于每个拥有自己独立的灵魂,这是两个不同的个体,所以不同的两个笔是两个对象)。那么我们可以发现,这些对象为了方便起见,都有类别,比如刚刚的两个笔是属于文具类,同样的,世间上的所有事物(对象),在现实生活中都对应有类别,这些类别把具有相同特征的不同对象分门别类,让我们能更好的区分。

      那么,这些事物在java中对应对象,类别在Java中对应的是类。这便是对象和类在我们现实生活中的映照关系!?

      那么,类和对象在Java中有什么关系呢?我们说”类是对象的模板“。意思是类长得像个模板(回忆模板的功能),能够将我们的对象”统一样式“。

      以下面这两只狗狗为例,这两个狗狗有不同的名字,可以定义一个犬类,然后实例化每一只具体的狗狗。

    同样的,类有属性和方法两个内容,继续以宠物犬这个犬类为例。

    那么对应关系为:

    特征——属性

    行为——方法

    类和对象关系的总结:

    学号

    姓名

    性别

    手机号

    20171001

    王草

    18610022345

    20171002

    李花

    13820490902

    这是开始的那个学生信息表,对应创建一个Student类。那么对应的类和对象为:

    类:类型,描述某一类事物的共性

    Student是一个类型

    所有的Student都有id,name,sex, cellphone这几个属性

    对象:一个具体实例

    s1是一个Student类型的对象,

    因而,s1具有id, name, sex, cellphone这几个属性

    5.面向对象编程

    6.IDEA创建类与对象

    7.成员变量

    8.IDEA上代码练习成员变量

    9.什么是方法

    可以把具有相同功能的代码,通过“方法”封装起来。
    如何通过方法来封装呢?

    10.包Package(详细参考)

    假如有很多Person类,有的有名字有性别,有的又只有名字,那我是不是代码删了写,写了又删?有没有办法这个同样的Person类都存在呢?那有人一激灵说这还不好说,多建几个类不就好了?而File already exists?什么意思?文件已经存在!

    我们发现电脑上两个相同的文件放在一起是不是会提示是否要覆盖?那你如果不覆盖,只能改名字了。还有个方法,就是放在不同文件夹中,是不是?

    同理java项目中也是可以分不同文件夹的。只不过java中类的文件夹不叫文件夹,叫“包名”

    英文单词:package,那package还有个意思就是打包的意思,所以你可以理解为这个文件夹,就是打了一个包裹,就跟快递包裹似的,你买了好多东西,不同商家是不同的包裹,每个包裹放的东西是不同类别的。

    java中也是这个意思,包中放的基本上都是同一类的东西。比如放汽车类,有Car,有Bus,有MiniBus,有Taxi是不是

    好了,说这么多,其实就是一个文件夹而已!记住在Java中叫做包。

    为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。

    包的作用(对类进行分类管理)

    1 把功能相似或相关的类或接口组织在同一个包中,方便类的查找和使用。
    2 如同文件夹一样,包也采用了树形目录的存储方式。同一个包中的类名字是不同的,不同的包中的类的名字是可以相同的,当同时调用两个不同包中相同类名的类时,应该加上包名加以区别。因此,包可以避免名字冲突。
    3 包也限定了访问权限,拥有包访问权限的类才能访问某个包中的类。

    创建包

    Java项目中,每一个包中的文件,都要有相应的包声明

    Java文件中,声明一个包需要注意

    1、声明一个包使用关键字:package

    2、一个类中,包的声明必须放在类中第一行

    3、包名也是标识符全部都是小写,多级之间使用.隔开;一般为了避免包名       重复都是公司域名反转加项目名加模块

    通过import使用包

    比如你使用了某个包的所有类,你可以这样

    import cn.craaaaazy.fruit.*;

    如果一个类中要使用其它包中的类,而且不止使用一次,通过上面的方式就比较麻烦,应该通过导包的方式来解决问题

             导包需要使用关键字:import

             导包的位置:在包声明(package)下面,类(class)上面

             导包的格式:import 完整包名.类名; 

    11.访问修饰符

    定义:Java中,可以使用访问修饰符来保护对类、变量、方法和构造方法的访问。Java 支持 4 种不同的访问权限

    private : 在同一类内可见。使用对象:变量、方法。 注意:不能修饰类(外部类

    default (即缺省,什么也不写,不使用任何关键字): 在同一包内可见,不使用任何修饰符。使用对象:类、接口、变量、方法

    protected : 对同一包内的类和所有子类可见。使用对象:变量、方法。

       注意:不能修饰类(外部类)

    public : 对所有类可见。使用对象:类、接口、变量、方法

    12.面向对象与面向过程

  • 相关阅读:
    1030 Travel Plan(Dijksta +DFS)
    最长序列问题(动态规划)
    Django(一、简介,安装与使用)
    微信小程序 加载 fbx 模型
    探索人工智能领域——30个名词详解
    国家电网王继业:企业数字化发展的“3-3-4”框架
    每周一算法:双向深搜
    go 1.22 增强 http.ServerMux 路由能力
    海报在线制作系统
    (四)TensorRT | 基于 GPU 端的 Python 推理
  • 原文地址:https://blog.csdn.net/qq_36631076/article/details/136789184