一、谈谈什么是面向对象的思维

理解面向对象,重点是要思考以下的问题

面向过程 vs 面向对象

Ø 谈谈什么是面向过程的编程思想?

Ø 为什么有面向过程还要有面向对象?

Ø 谈谈什么是面向对象的编程思想?

Ø 面向对象和面向过程有什么样的联系?

生活角度:面向过程 vs 面向对象

你---》做饭(买菜,洗菜,切菜,炒菜,吃,洗碗)

女朋友----》吃饭

女朋友---》面向对象---》你--做饭

你----》面向过程(明确具体的每个步骤)

总结:

生活角度:

面向对象:(先确定好一类事物,然后再找具体的对象)用人,关注点在于怎么协调每个人来完成工作

面向过程:要明确人去干活的细节,关注点在于做每件事的过程

每件事都是自己来干--执行者

每件事都是找专业的人来干--管理者(资源的调配者)

代码角度:

二、Java中的面向对象(类和对象)

Java是一门纯面向对象的语言,那么它是怎么来实现这些面向对象的思维的,那下面我们就要来学习它的语法。

掌握面向对象的基本语法:Java最基本的单位是类

在Java中有两个重要的概念,类和对象。

先抽象(老师)后具体(具体的老师)

类:

生活中:多个个体---》提取公共性----》归类

对象:

对象:个体

案例1:创建一个老师类

语法:

public class 类名{

}

一个老师,我们需要关注什么特性?比如姓名,年龄等等

除了这些基本的特性或叫属性之外,老师还应该有些行为,比较上课的行为。

那么这种行为,在java中就叫方法。

 

总结:

基本信息--属性

行为--方法

语法:

Public class 类名{

数据类型 变量名;

访问修饰符 返回值类型 方法名(参数列表){

方法体;

}

}

案例2:创建一个老师对象

类已经有了,但是类是抽象的概念,真正可以干活的是具体的对象,怎么具体化?

对象

创建对象的语法是什么?

类名 对象名 = new 类名();//这跟创建数组类似

对象名.属性

对象名.方法

练习:

1.编写一个老师类,关注其姓名,年龄,擅长领域等信息,同时关注其上课的能力,在测试类中创建该类的对象,通过对象给属性赋值及调用方法

2.编写一个手机类,关注其品牌,价格,屏幕大小等信息,同时关注其打电话的功能,在测试类中创建该类的对象,通过对象给属性赋值及调用方法

增加功能:

来一个方法展示其老师的整体信息

来一个方法展示其手机的整体信息

JDK为我们提供了很多的类,方便我们程序的开发

比如文件的操作,上传,下载 ---io

比如网络的编程,做对聊小程序 --net

等等

有时候,我们还会自己来创建新的类

比如,婚介系统,存储会员的信息 --创建一个新的类来存储这个信息

会员:

属性:身高,年龄等等

方法:唱歌,做饭。。。。

类:概念,抽象的

对象:具体的

三、封装及this

封装有两层含义,对功能的封装,比如就是我们的方法,方法就代表一个功能的实现;

另一层含义,是对数据的封装,比如手机的价格等等

问题:

上述案例都有共同的问题,老师的年龄或手机的价格都可以给其负数,但应该是不合理的,怎么解决这样的问题?

Java为我们提供了一种解决方案(面向对象的三大特征之一:封装

注意:真正项目开发时,我们解决此类问题的方案并不是这样,但是为了更好让大家理解封装的特性,我们暂且采用这个方案来解决此类问题。

步骤:

1.属性私有化

2.对属性提供get和set方法

新问题:

名字相同的问题

解决方案引入this关键字

this访问本类的构造方法:

小结:

l this访问本类的成员属性

l this访问本类的成员方法

l this访问本类的构造方法

补充:

开发的时候,我们的类的所有属性一般都会私有化,然后再提供方法给外界调用

四、构造方法

什么是构造方法,当我们要创建一个对象的时候就会使用到构造方法,可以实现对象的创建及对象信息的初始化工作

构造方法的使用及细节

1.构造方法的语法格式

访问修饰符 类名(参数列表){

方法体;

}

2.默认构造方法

3.带参的构造方法

4.默认特性,系统默认会给我们提供一个无参的构造方法

练习:采用带参的构造方法来实现对象的创建,并验证系统提供无参构造方法的机制。

五、考点:成员变量和局部变量的区别

成员变量和局部变量的区别?笔试考点

成员变量:

定义在类中,跟成员方法同级别

局部变量:

方法的参数,或者定义在方法内的变量

(1),位置不同,导致作用域不同

(2),生命周期不同

(3),内存的位置不同(后面讲对象内存图时再讲)

(4),初始值不同,局部变量默认不给初始化,需要你自己去初始化,才能使用

(5),奇葩考点,成员变量和局部变量同名的情况,考优先级问题

【JavaSE_07】Java中类和对象-封装特性相关推荐

  1. 【JavaSE_07】Java中类和对象-封装特性--练习

    1.编写封装一个学生类,有姓名,有年龄,有性别,有英语成绩,数学成绩,语文成绩,一个学生类,我们关注姓名,年龄,学历等信息,要求年龄必须在19-40岁之间,默认为19,学历必须是大专,本科,研究生这几 ...

  2. 【JavaSE_07】Java中类和对象-封装特性-思维导图

    思维导图看不清楚时: 1)可以将图片另存为图片,保存在本地来查看 : 2)右击在新标签中打开放大查看 (IE不支持,搜狗,360可以):

  3. java中类与对象回顾总结

    文章目录 一 类与对象的定义 二 类的成员变量 总结: 三 类的方法 (1)普通成员方法 (2)静态成员方法 类与对象的关键E点: 疑难解答: 四 private封装 五 setter与getter ...

  4. java中类和对象的个人理解

    目标: 1.掌握类和对象的格式和用途 2.把握好如何将生活中类和对象转换为程序. 面向对象编程:模拟现实生活. 所有的概念,都是源自于生活中. 1.找出生活中的对象? 对象:只要是生活中具体的某一个物 ...

  5. JAVA中类、对象、方法之间的关联关系

    引言   Java是一门面向对象的程序设计语言,基础语法是由类.对象.方法等共同组成,一个Java程序可以看成是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作. 定义   类:是一个模板,是 ...

  6. JAVA 面向对象 类 对象 封装

    面向对象概念 在学习面向对象之前,我们可以先了解一下面向过程. 面向过程是一种编程思想,它强调的是过程,意思是我们做任何事,都需要亲力亲为. 面向对象也是一种编程思想,相对于面向过程,我们的身份可以由 ...

  7. Java中类,对象,方法的关系

    类 类的理解 类是现实生活中一类具有共同属性和行为的事物的抽象 类是一个抽象的概念,它不存在于现实中的时间/空间里,类只是为所有的对象定义了抽象的属性与行为 自我理解就是: 1.将张三这个人(对象)拥 ...

  8. Java中类和对象的关系

    一.基本概念 1.类:类是一个模板,它描述一类对象的行为和状态.(比如一张汽车设计图纸) 2.对象:对象表示现实世界中一个具体的事物.对象是类的一个实例,有状态和行为.例如,一条狗是一个对象,它的状态 ...

  9. 【微信小程序】java中类和对象的区别

    目录 Kafka的基本介绍 Kafka的设计原理分析 Kafka数据传输的事务特点 Kafka消息存储格式 副本(replication)策略 Kafka消息分组,消息消费原理 Kafak顺序写入与数 ...

最新文章

  1. 2022-2028年中国自动化设备市场研究及前瞻分析报告
  2. Asp.net MVC 3实例学习之ExtShop(五)——产品详细页
  3. 卓瑞机器人_校企合作专业共建记涪陵职教中心机器人专业中泰学术交流活动
  4. 关于字符串中函数的实现( C语言 )
  5. 两年来的core折腾之路几点总结,附上nginx启用http2拿来即用的配置
  6. mysql 操作类 C .net_.NET MYSQL数据库操作基类( C#源码)
  7. React后台管理系统-file-uploader组件
  8. bzoj1038 [ZJOI2008]瞭望塔 枚举
  9. 实验四+040+薛龚
  10. 使用 setTimeout 实现 setInterval
  11. Android学习系列(一)初识安卓
  12. 在Linux中使用GoAccess分析Nginx的日志
  13. C# ListView控件用法
  14. MSN Direct 日志系统浅析
  15. hello world (android studio DNK )
  16. Unity WebGL与浏览器脚本交互
  17. 【编程题训练】统计射击比赛成绩
  18. 2021-2022-2 ACM集训队每周程序设计竞赛(1) - 问题 B: 蹩脚两轮车 - 题解
  19. 1054: 猴子吃桃(C)
  20. 第二章:解决LuckySheet 使用生成图表的时候发生 h.createChart is not a function错误

热门文章

  1. 文本挖掘预处理:向量化与Hash Trick
  2. C++ Primer 5th笔记(chap 16 模板和泛型编程)类模板和友元
  3. C++ Primer 5th笔记(10)chapter10 泛型算法 :bind
  4. 操作系统课设--NACHOS试验环境准备、安装与MAKEFILE分析
  5. 新冠肺炎疫情预测与防控策略评价
  6. TEEC_RegisterSharedMemory和TEEC_AllocateSharedMemory的区别
  7. django之ORM查询操作(二)
  8. AndroidStudio动态调试smali
  9. 硬件安全系列 逻辑电路基础知识介绍(一)
  10. 用户层和内核层异常的处理流程