面向对象思想

面向过程:

强调的是过程,所有的啥事情都需要自己完成

面向对象:

是一种更符合我们思想习惯的思想(懒人思想,我自己不做事情,交给别人去做)可以将复杂的事情简单化(对于使用者来说变得简单了,但是对象里面还是很复杂)

将我们从执行者变成指挥者,角色发生了转换。

定义:

首先根据客户的需求抽象出业务逻辑对象,然后对需求进行合理的分层,构建对应的独立的业务模块,之后进行设计业务逻辑,利用封装集成多台抽象的思想,实现实际业务需求,最后通过整合各个模块,达到高内聚,低耦合的效果从而满足客户的需求。

啥是类?

类定义了一种抽象数据类型

不但定义了抽象数据类型的组成(成员变量),同时还定义了可以对该类型实施的操作(方法)

定义类的成员变量

类的定义包括 成员变量 的定义和 方法 的定义,其中成员变量用于描述该类型对象共同的数据结构

成员变量和局部变量

1、定义位置:成员变量定义在类中;局部变量定义在方法中。2、作用域:成员变量作用在整个类中;局部变量只能作用在定义它的方法中更或者语句中使用。3、内存中的位置:成员变量存储在堆内存中,并且自动赋予初始值;局部变量它存储在栈内存中,不会自动赋值。4、生命周期:成员变量在对象创建的时候存储在堆内存中,在对象被回收的时收回来;

局部变量存储在栈中,在方法或语句中执行的时被创建,方法或语句执行完之后被销毁。

Java语言中,类的成员变量的滴定仪可以使用如下语法

class  类名{成员变量类型  变量名称;
}
class 类名{修饰词  返回值类型  方法名称(参数列表){方法体.....}
}
例:
class student{String name;int age;char gender;
}

成员变量类型

数值类型(byte,short,int,long,float,double)   -----0boolean型   -----falsechar型   -----/u0000引用类型    -----null

类中出了定义成员变量,还可以定义方法,用于描述对象的行为,封装的对象的功能;

方法的重载

方法的签名包含:方法名和参数列表

一个类中,不能有两个方法的签名完全相同,即一个类中不可以有两个方法的方法名和参数列表完全一样

             可以一个类的方法的方法名相同而参数列表不同会出现编译错误!!!
public class cashier {public boolean pay(double money){...}public boolean pay(double money){...}
}
正确:(方法重载)
public class cashier{public boolean pay(double money){...}public boolean pay(String name){...}
}

方法的重写

 重写是指在子类中定义和父类完全相同的方法,在程序运行时候,根据对象的类型不同(而不是引用类型)而调用不同的版本。***与重载的不同:重载是指一个类中定义多个方法名相同但参数列表不同的方法,在编译时,根据参数个数和类型来决定绑定哪个方法。

构造方法

构造方法是定义在类中的,不同于其他方法,构造方法有如下两点规则

 1、构造方法的名称和类名相同2、构造方法没有返回值,也不能写 void[访问修饰符]  类名{//构造方法体
}

用于实现对象成员变量的初始化

this -----用在方法体中,用于只想调用该方法的当前对象

即哪个对象调用方法 this就指哪个对象 在方法中需要通过this关键字指明当前对象

为了方便,在没有歧义的情况面可以省略this

public void drop(){this.row ++;
}
省略版:
public void drop(){row ++;
}

继承 -----extends

发现一些类中的属性和方法是相同的,所以把这些相同的属性和方法提取到一个新的类中,然后利用extends关键字让原来的类的新的类产生联系,这种联系称之为继承。

通过extends关键字可以实现类的继承;

子类可以继承父类的成员变量及成员方法,同时也可以定义自己的成员变量和成员方法;

Java语言不支持多重继承,一个类只能继承一个父类,但是一个父类可以由多个子类。

子类可以继承父类的成员变量and成员方法,同事也可以定义自己的成员变量和成员方法

Java不支持度冬虫继承,一个类只能继承一个

java基础笔记05~汪汪汪~相关推荐

  1. Java基础笔记-05

    此为2023年学习黑马的Java课程p153~p162所写笔记,编号05,记录部分内容方便日后回看,大家亦可参考. 视频链接 四十六.Arrays 工具类 工具类,专门用于操作数组元素 常用成员方法 ...

  2. Java基础笔记 – 枚举类型的使用介绍和静态导入

    Java基础笔记 – 枚举类型的使用介绍和静态导入 本文由 arthinking 发表于404 天前 ⁄ Java基础 ⁄ 暂无评论 ⁄ 被围观 1,433 views+ 1.枚举(Enum): JD ...

  3. Java基础笔记23-集合练习题

    Java基础笔记23-集合练习题 定义一个集合,实现去重复的功能 定义一个数组,数组中存放的是图片的后缀,给一个文件的名字,判断是否是图片 定义一个带有数字和字符串的集合,使用迭代器进行迭代,只输出字 ...

  4. Java基础笔记(2)——HashMap的源码,实现原理,底层结构是怎么样的

    Java基础笔记(2)--HashMap的源码,实现原理,底层结构是怎么样的 HashMap的源码,实现原理,底层结构 1.HashMap: HashMap是基于哈希表的 Map 接口的实现.此实现提 ...

  5. Java基础笔记(14)—— Java的基础类型和字节大小

    Java基础笔记(14)-- Java的基础类型和字节大小 Java基础笔记(14)-- Java的基础类型和字节大小 Java语言提供了八种基本类型.六种数字类型(四个整数型(默认是int 型),两 ...

  6. Java基础笔记6——File、流、枚举、断言

    Java基础笔记6 十一.File 代表文件或目录的类. 所表示的文件或目录在计算机中不一定真实存在. 绝对路径:以盘符或者/开头的路径--不以当前路径为基准,直接跳转到指定的位置 相对路径:不以盘符 ...

  7. Java基础笔记(4w字长文警告)

    Java核心笔记 提示:点击右上角关注博主,收获共同话题 下面是我的个人学习Java的笔记,现在分享给广大友友: 文章目录 Java核心笔记 0.导论 标柱注释: 学习方法: 1 java概述 1.1 ...

  8. 自学java基础笔记

    java基础教程 基础字符 public  公共的 class 类 static 静态的 void 无返回类型 main 主要的 String 字符串 args 参数 System 系统的 out 输 ...

  9. 【Java基础笔记】类型转换

    目录 前言 类型转换(基本数据类型) 1.自动类型转换 2.强制类型转换 前言 该文章为Java基础自学笔记 其他内容:Java基础学习笔记目录 学习用书: <Java核心技术 卷Ⅰ 基础知识( ...

最新文章

  1. Windows 软件管理命令行工具scoop介绍
  2. 【转载】老鸟程序员总结的这些小技巧
  3. 5G 承载网 — Overview
  4. git合并分支的时候将某个文件添加到忽略列表_常用的 Git 命令
  5. 我发现了 Microsoft Azure 中的两个漏洞
  6. Web前端开发需要掌握的技术有哪些?
  7. k8s nfs安装及pv/pvc 创建和回收删除
  8. dog log 算子_图像特征之LoG算子与DoG算子
  9. wps如何删除空白页?wps删除空白页的方法
  10. java utility工具类怎么导入_Utility.java
  11. 嵌入式 在开发板显示bmp图片、jpeg图片
  12. php 识别二维码内容
  13. android 倒影图片的生成
  14. 前后端分离API接口如何加密 —— AES加密方案
  15. 常用数据指标缩写以及说明(uv、pv、br、cr、dau……):
  16. 【POI2013】bzoj3426 Tower Defence Game
  17. 字号、pt、px、inch、cm 之间的关系及对照表
  18. POL8901 LVDS转MIPI DSI 支持旋转图像处理芯片
  19. Halcon 之 Measure_Pairs
  20. EasySearcher搜索不到EasyNVR硬件的IP地址,如何解决?

热门文章

  1. 使用numpy.sin()打印矢量/矩阵元素的正弦值 使用Python的线性代数
  2. Qt运行过程中错误未找到信号的符号undefined symbol: _ZN11FileManager12sigTechFilesE4QMapIi7QSt
  3. python个人所得税怎么写分录_个人所得税的凭证分录怎么写
  4. NBA常规赛总得分排行榜(数据截止至11年4月14日)
  5. linux安装pycharm报错:Unable to detect graphics environment
  6. 【转载】Hint的常见错误使用方式
  7. JS正则表达式小笔记
  8. 如何提高个人理解能力?表达能力?分析能力?
  9. 千年人参多少钱,如果真的有的话
  10. 微信小程序cameraContext拍摄的视频或照片上传后端,不需要处理实时监听的ArrayBuffer格式的视频数据,只需要直接使用wx.uploadFile上传后端,简单好用(带前后端代码)