01 语言基础+高级:1-2 面向对象和封装_day06【类与对象、封装、构造方法】
day06【类与对象、封装、构造方法】
面向对象
类与对象
三大特征——封装
构造方法
能够理解面向对象的思想
能够明确类与对象关系
能够掌握类的定义格式
能够掌握创建对象格式,并访问类中的成员
能够完成手机类的练习
能够理解对象的内存图
能够说出成员变量和局部变量的区别
能够理解private关键字的含义
能够说出this关键字可以解决的问题
能够理解构造方法的含义
能够用封装的思想定义一个标准类
day06_01_面向对象思想的概述
day06_02_面向对象思想的举例
面向对象的语言中,包含了三大基本特征,即封装、继承和多态。
day06_03_类和对象的关系
类:是一组相关属性和行为的集合。可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。
属性:就是该事物的状态信息。
行为:就是该事物能够做什么。对象:是一类事物的具体体现。对象是类的一个实例(对象并不是找个女朋友),必然具备该类事物的属性和行为。
类与对象的关系
类是对一类事物的描述,是抽象的。
对象是一类事物的实例,是具体的。
类是对象的模板,对象是类的实体。
day06_04_类的定义
成员变量:对应事物的属性
public class ClassName {
//成员变量
//成员方法
}成员方法:对应事物的行为
day06_05_对象的创建及其使用
创建对象:
类名 对象名 = new 类名();使用对象访问类中的成员:
对象名.成员变量;
对象名.成员方法();
day06_07_一个对象的内存图
day06_08_两个对象使用同一个方法的内存图
day06_09_两个引用指向同一个对象的内存图
day06_10_使用对象类型作为方法的参数
day06_11_使用对象类型作为方法的返回值
day06_12_成员变量和局部变量的区别
day06_13_面向对象三大特征之封装性
day06_14_private关键字的作用及使用
2.1 封装的原则
将属性(成员变量)隐藏起来,若需要访问某个属性,提供公共方法对其访问。
2.2 封装的步骤
1. 使用 private 关键字来修饰成员变量。
2. 对需要访问的成员变量,提供对应的一对 getXxx 方法 、 setXxx 方法。被private修饰后的成员变量和成员方法,只在本类中才能访问。
day06_15_练习使用private关键字定义学生类
day06_16_this关键字的作用
this代表所在类的当前对象的引用(地址值),即对象自己的引用。
小贴士:方法中只有一个变量名时,默认也是使用 this 修饰,可以省略不写。比如在SSM整合项目中使用@Autowired注入的对象时候,可以省略this关键字。
day06_17_构造方法
当一个对象被创建时候,构造方法用来初始化(创建)该对象,给对象的成员变量赋初始值。
小贴士:无论你与否自定义构造方法,所有的类都有构造方法,因为Java自动提供了一个无参数构造方法,
一旦自己定义了构造方法,Java编译器自动提供的默认无参数构造方法就会不再赠送。
day06_18_定义一个标准的类
IDEA:Alt+Insert
Eclipse:Shift+Alt+S
========================================================
end
01 语言基础+高级:1-2 面向对象和封装_day06【类与对象、封装、构造方法】的更多相关文章
- 01 语言基础+高级:1-7 异常与多线程_day06 【线程、同步】
day06 [线程.同步] 主要内容 线程 同步 线程状态 一.学习目标 1. 能够描述Java中多线程运行原理 2. 能够使用继承类的方式创建多线程 3. 能够使用实现接口的方式创建多线程 4. 能 ...
- 01 语言基础+高级:1-8 File类与IO流_day10【缓冲流、转换流、序列化流】
day10[缓冲流.转换流.序列化流] 主要内容 缓冲流 转换流 序列化流 打印流 教学目标 能够使用字节缓冲流读取数据到程序 能够使用字节缓冲流写出数据到文件 能够明确字符缓冲流的作用和基本用法 能 ...
- 01 语言基础+高级:1-6 集合_day03【List、Set、Collections工具类】
day03 [List.Set.数据结构.Collections] 主要内容 数据结构 List集合 Set集合 Collections 第一章 数据结构 2.1 数据结构有什么用 我们将常见的数据结 ...
- 01 语言基础+高级:1-7 异常与多线程_day05 【异常、线程】
day05 [异常.线程] 主要内容 异常.线程 教学目标 能够辨别程序中异常和错误的区别 说出异常的分类 说出虚拟机处理异常的方式 列举出常见的三个运行期异常 能够使用try...catch关键字处 ...
- 01 语言基础+高级:1-10 JDK8新特性_day12【函数式接口】
day12[函数式接口] 主要内容自定义函数式接口函数式编程常用函数式接口 教学目标能够使用@FunctionalInterface注解能够自定义无参无返回函数式接口能够自定义有参有返回函数式接口能够 ...
- 01 语言基础+高级:1-5 常用API第二部分_day01.【Object类、常用API: Date类、System类、StringBuilder类】
day01[Object类.常用API] 主要内容 Object类 Date类 DateFormat类 Calendar类 System类 StringBuilder类 包装类 java.lang.O ...
- 01 语言基础+高级:1-7 异常与多线程_day07 【线程池、Lambda表达式】
day07[线程池.Lambda表达式] 主要内容 等待与唤醒案例 线程池 Lambda表达式 教学目标 -[ ] 能够理解线程通信概念-[ ] 能够理解等待唤醒机制-[ ] 能够描述Java中线程池 ...
- 01 语言基础+高级:1-6 集合_day02【Collection、泛型】
day02[Collection.泛型] 主要内容 Collection集合 迭代器 增强for 泛型 教学目标 能够说出集合与数组的区别 说出Collection集合的常用功能 能够使用迭代器对集合 ...
- 01 语言基础+高级:1-9 网络编程_day11【网络编程】
day11[网络编程] 主要内容 软件架构CS/BS 网络通信三要素 TCP通信 Socket套接字 ServerSocket 教学目标 能够辨别UDP和TCP协议特点 能够说出TCP协议下两个常用类 ...
随机推荐
- centos 7 打开端口
查看防火墙状态 systemctl status firewalld 或者 firewall-cmd --state 临时关闭防火墙测试是否是端口问题 systemctl stop firewalld ...
- crontab 实现Linux系统上定时任务的关键命令
附上原文链接 https://www.cnblogs.com/ftl1012/p/crontab.html 原文真是写得非常好,所谓他山之石可以攻玉~,我就不客气啦,哈哈
- Spring入门之二-------SpringIoC之实例化Bean以及注入Bean
一.实例化Bean 1. 通过默认构造方法实创建Bean public class Bean1 { public Bean1() { System.out.println(this.getClass( ...
- 51Nod 1067 Bash博弈V2
这道题告诉我,一定要去尝试,去推算,不要动不动就找度娘要答案.(惭愧惭愧) 既然是博弈问题,按理我们应该找出规律,怎么找呢,推,把前几项写出来找规律,动手很重要. 上题: 1067 Bash游戏 V2 ...
- Android进阶——Android消息机制之Looper、Handler、MessageQueen
Android消息机制可以说是我们Android工程师面试题中的必考题,弄懂它的原理是我们避不开的任务,所以长痛不如短痛,花点时间干掉他,废话不多说,开车啦 在安卓开发中,常常会遇到获取数据后更新UI ...
- Android群英传神兵利器读书笔记——第二章:版本控制神器——Git
本人一直是徐医生的真爱粉,由于参加比赛耽误了8天,导致更新得有点慢,大家见谅 2.1 Git的前世今生 Git是什么 Git安装与配置 2.2 创建Git仓库 Git init Git clone 2 ...
- JavaScript把两个数组对象合并成一个一一对应的数组对象
合并数组或者对象在数组或对象前面加...,是es6的新写法,然后数组的map方法会返回数组. var obj1 = [{ , "model": "XQG70-S1208F ...
- c++的符号表的肤浅认识
符号表是编译期产生的一个hash列表,随着可执行文件在一起 示例程序 int a = 10; int b; void foo(){ static int c=100; } int main(){ in ...
- js事件函数中function(e){}
简单来说就是指向了当前发生的事件(click.mouseover等等),保存了当前事件的信息.如鼠标点击事件,有鼠标的坐标信息.其中,e是标准浏览器传递进去的事件参数,低版本IE不会传递,事件参数放置 ...
- 2020/2/13 bluecmsv1.6sp1代码审计
0x00 前言 从今天开始审计一些小的cms,一周内至少审计一种,中间可能会写点别的有趣的东西 0x01 安装好后,看到登陆框,用万能密码打一发,无果,尝试重装,可以重装.有robots.txt 看u ...