1. 生活中的面向对象

需求: 我想吃烤羊排A. 找一个烧烤店吃1. 选店铺2. 找座位并点餐3. 等待烤制4. 吃5. 结账走人B. 自己做着吃1. 买羊排, 买材料2. 准备材料3. 做羊排, 放入烤箱4. 取出5. 吃6. 洗锅洗碗
生活中面向对象和面向过程面向对象:找合适的人做合适的事面向过程:亲力亲为, 自力更生, 所有的过程都是经历

2. 类和对象

对象
人类 川普, 奥巴马, 普京
狗类 王可可, 高飞, 史努比
手机类 我的华为Mate 30Pro, 我曾经的Iphone8Plus
电脑类 我的小米游戏本, 我曾经的ThinkPad
类:对于一类事物的统称, 包含对于属性描述和行为描述以人类为例:属性描述:身高, 体重, 样貌....行为描述:吃饭, 睡觉, 上班, 学习, 游戏....对象:具体的, 独立的, 唯一的个体

3. Java中定义类的格式【重点】

3.1 格式分析
格式:class 类名 {属性描述;行为描述;}类名:要求符合大驼峰命名法, 见名知意类名这里可以认为是一个数据类型名, 自定义数据类型属性描述:描述当前类有哪些属性例如:人类的身高体重年龄姓名...行为描述:描述当前类有哪些行为例如:人类的吃饭行为, 睡觉行为, 游戏行为...
3.2 自定义完成Person类
/**
* 自定义Person类, 人类
* @author Dream
*/
class Perosn {/* 属性描述 【成员变量 Field】*/// 姓名属性描述// String 是字符串类型, name成员变量String name;// 年龄描述// int 是整数数据类型, age成员变量int age;// 性别描述// char 是字符数据类型, gender成员变量char gender;/* 行为描述 【成员方法 Method】*/// 吃饭行为描述public void eat(String food) {System.out.println("吃" + food);}// 睡觉行为描述public void sleep() {System.out.println("月亮不睡你不睡, 你是秃头小宝贝");}// 游戏行为描述public void game() {System.out.println("WOT World Of Tank 坦克世界!");}
}

4. Java中创建对象的格式【重点】

4.1 模仿
格式:Scanner扫描器Scanner sc = new Scanner(System.in);赋值号左侧:Scanner:数据类型名, Scanner类, 【类名】sc:可以认为是Scanner类的对象, sc是对象名, 同时也是一个【引用数据类型变量】赋值号右侧:new:1. 在内存的堆区申请当前对象所需的内存空间2. 擦除整个内存空间中的所有数据, 所有的内存空间中二进制位都是0Scanner(System.in):和类名同名的方法目前 类名();即可格式:类名 对象名 = new 类名();
4.2 创建Person类对象
/*
* 这里创建一个Person对象
* 格式:
*       类名 对象名 = new 类名();
*
* 这里创建了一个Person类的对象, 对象名saolei
*/
Person saolei = new Person();
System.out.println(saolei);
/* com.qfedu.Object.Person@15db9742
* com.qfedu.Object 完整的包名
* Person 类名
* @ 所在内存位置
* 15db9742 是当前Person类的对象, saolei所在【堆区】内存空间首地址
*/
4.3 再模仿
int[] arr = new int[10]arr.length???这里没有小括号, 得到的是数组的容量, 是一个属性操作类内的成员变量类对象.成员变量名 可以赋值操作, 可以取值操作
4.4 使用成员变量方式
/*
通过Person类的对象, saolei操作name成员变量, age成员变量, gender成员变量进行赋值操作. 的 ==> 点可以在这里理解为 "的" 的意思
*/saolei.name = "航海中路彭于晏";saolei.age = 16;saolei.gender = '男';/*
通过Person类的对象, saolei取值成员变量内容
*/System.out.println("Name:" + saolei.name);System.out.println("Age:" + saolei.age);System.out.println("Gender:" + saolei.gender);
4.5 再再模仿
Scanner sc = new Scanner(System.in);sc.nextInt(); 通过Scanner类的对象 sc调用nextInt();
sc.nextFloat();
sc.nextDouble();
sc.nextLine.charAt();. 的格式:类对象.成员方法(所需参数);
4.6 通过类对象使用成员方法
/** 格式:*         类对象.成员方法(所需参数);* . 的*/saolei.eat("鲱鱼罐头鱼丸");saolei.sleep();saolei.game();
4.7 代码展示
package com.qfedu.Object;/*** 自定义Person类, 人类* @author Dream**/
class Person {/* 属性描述 【成员变量Field】*/// 姓名属性描述// String 是字符串类型 name成员变量String name;// 年龄描述// int 是数据类型 age成员变量int age;//性别描述// char 是数据类型 gender成员变量char gender;/* 行为描述 【成员方法Method】*/// 吃饭行为描述public void eat(String food) {System.out.println("吃" + food);}// 睡觉行为描述public void sleep() {System.out.println("月亮不睡你不睡, 你是秃头小宝贝");}// 游戏行为描述public void game() {System.out.println("WOT World Of Tank 坦克世界");}}public class Demo1 {public static void main(String[] args) {/** 这里创建一个Person对象* 格式:*        类名 对象名 = new 类名();* * 这里创建了一个Person类的对象, 对象名saolei*/Person saolei = new Person();System.out.println(saolei);/* com.qfedu.Object.Person@15db9742* com.qfedu.Object 完整的包名* Person 类名* @ 所在内存位置* 15db9742 是当前Person类的对象, saolei所在【堆区】内存空间首地址*//** 通过Person类的对象, saolei操作name成员变量, age成员变量,gender成员变量进行赋值操作* * . 的*/saolei.name = "航海中路彭于晏";saolei.age = 16;saolei.gender = '男';/** 通过Person类的对象, saolei取值成员变量内容.*/System.out.println("Name:" + saolei.name);System.out.println("Age:" + saolei.age);System.out.println("Gender:" + saolei.gender); /** 格式:*        类对象.成员方法(所需参数);* . 的*/saolei.eat("鲱鱼罐头鱼丸");saolei.sleep();saolei.game();}
}

Day12 学习分享 - 面向对象相关推荐

  1. iOS runtime 学习分享

    这是团队小伙伴在内部的一次技术分享, 很开心, 我们团队越来越好了. iOS runtime 学习分享 Author:Liao Zusheng 申明: 部分资料来自于知名论坛和博客,已在文中给出相关源 ...

  2. 胡锐锋:组队学习分享(队长)

    组队学习分享(队长) 自我介绍 胡锐锋,现为Datawhale成员,目前担任<统计学习方法习题解答>开源项目的负责人,已工作近8年,由大数据平台研发工程师转变成一位项目管理人.我的人生目标 ...

  3. Python学习之面向对象编程

    Python学习目录 在Mac下使用Python3 Python学习之数据类型 Python学习之函数 Python学习之高级特性 Python学习之函数式编程 Python学习之模块 Python学 ...

  4. python anylogic_分享 | IE工具与仿真软件学习分享会

    原标题:分享 | IE工具与仿真软件学习分享会 6月18日晚,IE工具与仿真软件学习分享会在经济与管理学院704教室顺利举行,此次分享会,有幸邀请到了欧阳林寒老师.大三学长张宇航和葛胜贤为大家讲解相关 ...

  5. python中if语句缺省else_9_【Python学习分享文章】_if(条件语句)

    [Python学习分享文章]_if(条件语句)_logicalJudgement介绍及基本操作 综述 计算机的"条件语句"和生活中的"条件成立"是不一样的. 一 ...

  6. 学习分享会(2019.5.31)

    学习分享会 First(初三大佬发言) 初三大佬在为初二大佬讲一堆哲学的道理,虽然十分高深,但还是听懂了一点点 Second(初二大佬发言) 初二大佬开始"秀",首先是大佬LW讲了 ...

  7. datatable的数据进行组内排序_排序算法学习分享(四)希尔排序

    排序,也称为排序算法,可以说是我们学习算法的过程中遇到的第一个门槛,也是实际应用中使用得较为频繁的算法,我将自己对所学的排序算法进行一个归纳总结与分享,如有错误,欢迎指正! 排序算法学习分享(一)选择 ...

  8. Bootstrap的学习分享

    大家好,这里是demo软件园,今天为大家分享的是Bootstrap的学习分享. 众所周知Bootstrap是一款简洁.直观.强悍的前端开发框架,让web开发更迅速.简单. 流体布局容器 容器的widt ...

  9. 佐切的第一天学习分享

    从哪学呢?这对于我来说也是个很大的问题. 由于之前有看过一点php的视频教程,就从基础的html开始对之前看点那点视频教程的回顾. ①首先自己的一个认识,网页通过www.^^^^^来访问,这个协议是美 ...

最新文章

  1. nmap脚本(nse)原理和编写
  2. 计算机控制zos,第二章zOS操作系统的功能概述2.1zOS的内存管理.PDF
  3. 白话Elasticsearch69-ES生产集群部署重要的 Elasticsearch参数设置
  4. 用开源项目cropper实现对图片中任意部分进行裁剪
  5. 对node.js的net模块的一个测试
  6. CRM Set Type com_commercial的UI界面
  7. 【~~~】POJ-1006
  8. 【资源】史上最全数据集汇总
  9. 西门子S7-1200、1500固件更新第三方设备GSD导入
  10. h5实现文件下载,兼容ios、android
  11. mathematica动态模型的建模分析
  12. IE浏览器打不开网页
  13. linux指令buster是什么,FGO三类战斗指令卡有什么用 合理利用手中指令卡
  14. 平板有必要买触控笔吗?好用又便宜的触控笔推荐
  15. vue实现input输入模糊查询(三种方式)
  16. NVL、NVL2、NULLIF、COALESCE的区别是什么?
  17. Farmer John's math(c++)
  18. 币圈指数哪家强?且看分析OK VS 火币
  19. RAW 264.7 小鼠单核巨噬细胞白血病细胞培养解决方案
  20. 2007年2月13日

热门文章

  1. 什么是8口poe交换机?8口poe交换机有哪些特点?
  2. 智能家居代码构建编写、简单工厂模式、树莓派摄像头视频监控功能实现
  3. NTLDR是做什么的,丢失了如何恢复
  4. custom_dataset
  5. 学什么技术专业最有前途?
  6. Windows平板装Android双系统及建立UEFI引导全攻略(windows8.1+android6+phoenix)
  7. NVIDIA IC校招笔试题目
  8. SQLMap的基本使用-靶场墨者学院(DB2数据库)
  9. vscode的搜索技巧
  10. (转)Unity3D手游开发实践