2019-10-18-21:35:36

面向对象


学面向对象前要先知道什么叫面向过程,了解了什么叫面向过程才容易理解面向对象

面向过程(强调步骤)

  概念:当需要实现一个功能的时候,每一个具体的步骤都要亲历亲为,详细处理每一个细节的过程称为面向过程

  如:把衣服脱下来==>找一个盆==>放点洗衣粉==>加点水==>浸泡==>洗衣服==>拧干==>晾晒

面向对象(强调对象)

  概念:当需要实现一个功能的时候,不关系具体的步骤,而是找一个已经具有该功能的人来实现该过程.

  如:把衣服脱下来==>放洗衣机里==>启动洗衣机==>晾晒

  特点:面向对象思想是一种更符合我们思考习惯的思想,它可以把复杂的事情简单化,让我们从执行者变成指挥者

  三大基本特征:封装、继承和多态

  概念:是一组相关属性和行为的集合,可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物

  属性:事物的状态信息

  行为:事物能够做什么

对象

  概念:是一类事物的具体体现,对象是类的一个实例,必然具备该类事物的属性和行为

类和对象的关系

  类是对一类事物的描述,是抽象的

  对象是一类事物的实例,是具体的

  类是对象的模板,对象是类的实体

类的定义格式

  public class Person{

  //成员变量(属性)

  //成员方法(行为)

  }

定义类

  概念:就是定义类的成员,包括成员变量和成员方法

成员变量

  概念:和定义变量几乎一样,只不过位置发生了变化,在类中,方法外

成员方法

  概念:和定义方法几乎一样,只不过把static去掉

  

注意事项

  1.成员变量是直接定义在类当中的,在方法外边

  2.成员方法不要写static关键字

类的使用方法

  通常情况下,一个类并不能直接使用,需要根据类创建一个对象, 才能使用。
  1.导包:也就是指出需要使用的类,在什么位置.
    import包名称.类名称;
  对于和当前类属于同一个包的情况,可以省略导包语句不写。
  

  2.创建,格式:
    类名称对象名。new类名称();
    Student stu = new Student();

  3.使用,分为两种情况:

    使用成员变量:对象名.成员变量名

    使用成员方法:对象名.成员方法名(参数)

    (也就是,想用谁,就用对象名点儿谁)

  注意事项:
    如果成员变量没有进行赋值,那么将会有一个默认值,规则和数组一样。

成员变量和局部变量的区别

  1.定义的位置不一样【重点】
    局部变量:在方法的内部
    成员变量:在方法的外部,直接写在类当中
  2.作用范围不一样【重点】
    局部变量:只有方法当中才可以使用,出了方法就不能再用
    成员变量:整个类全都可以通用。
  3. 默认值不一样【重点】
    局部变量:没有默认值,如果要想使用,必须手动进行赋值
    成员变量:如果没有赋值,会有默认值,规则和数组一样
  4.内存的位置不一样(了解)
    局部变量,位于栈内存
    成员变量:位于堆内存
  5.生命周期不一样(了解)
    局部变量,随着方法进栈而诞生,随着方法出栈而消失
    成员变量:随着对象创建而诞生,随着对象被垃圾回收而消失

代码执行顺序

  

  

Java之路---Day04的更多相关文章

  1. Java之路——名词解释(一)

    一.开篇 许多人在初接触Java的时候,都会被各种Java的英文缩写名词给弄得头晕脑胀.看一个技术,内容里又会有一堆其他的技术名词,看了半天不知所云.尝试去查一下这些名词的解释,除了非常学术性的解释之 ...

  2. Java之路——敬JAVA初学者(作者:MoMo)

    作为一名大四的毕业生,大学三年过,有得有失.作为一个喜欢编程,喜欢JAVA的人,自学其实是一件美事,很有意思的事.要是能再找个女朋友一起学.嘿嘿,就不枉在大学走了一遭啊!    要离开学校了,还是想留 ...

  3. Java之路——环境配置与编译运行

    本文大纲 一.开篇 二.JDK下载 三.JDK安装 四.环境配置 五.初识Java编译 六.Java与Javac 七.第一个Java程序 八.总结 九.参考资料 一.开篇 通过对之前Java之路的了解 ...

  4. Java之路 ——初识Eclipse

    零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...

  5. 2017-2018-1 JAVA实验站 冲刺 day04

    2017-2018-1 JAVA实验站 冲刺 day04 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 写博客.进行工作总结 100% 齐力锋 找背景音乐 100% 张浩林 游戏操作说 ...

  6. 转行自学 Java 之路的纪念册

    前言: 最近在重读<小狗钱钱>,我对其中的"成功日记"概念特别深刻,偶尔也会记一记“成功日记”. 想了想人生走找到今天,阶段性“成功日记”有没有呢? 有的!几年前的一篇 ...

  7. 是什么让我走上Java之路?

    选择方向,很多人都为根据自己的兴趣爱好和自己的能力所长而作出选择.那么是什么让我走上Java之路? 整个高三我有两门课程没有听过课,一门是数学,一门是物理.当时候物理没有听课的原因很简单,我有一本&l ...

  8. 我的Java之路

    前言: 之前在学习python,刚开始的时候跟多数小白一样学习一些基础的知识,比如数据类型,用法,基本的语言结构,学了一段时间实在是学习不下去了,真是太TMD的无聊了,很多方法都记不住,也不知道学了这 ...

  9. Java之路——初识Eclipse

    零.大纲 一.前言 二.获取Eclipse 三.运行Eclipse 四.创建及运行第一个Java Project 五.界面介绍 六.如何调试 七.获取插件 八.Eclipse 快捷键 九.总结 一.前 ...

随机推荐

  1. fdisk、mkfs.ext4、make_ext4fs、img2simg、simg2img

    一个典型的嵌入式系统是由uboot+kernel+rootfs组成的,其中uboot和kernel都是二进制,rootfs存在文件系统. 二进制在烧录的时候比较简单,将二进制数据写入存储设备固定地址: ...

  2. 工具系列 | 如何在阿里云负载均衡上启用WS/WSS支持

    官方文档:https://help.aliyun.com/document_detail/63421.html?spm=5176.10695662.1996646101.searchclickresu ...

  3. 判断mysql数据库表和表字段是否存在

    1.判断数据库表是否存在, // mysqlSELECT table_name FROM information_schema.tables WHERE table_name=#{tableName, ...

  4. yum安装python3.6的方法

    # centos7 # 换成阿里云的yum源 yum -y install epel-release yum repolist yum -y install python36 测试 [root@loc ...

  5. Django框架入门1虚拟开发环境的配置

    1.安装virtualenv虚拟程序 C:\Users\ws>pip install virtualenv 创建名字为testvir的虚拟环境 C:\Users\ws>virtualenv ...

  6. 第一节:Python+Selenium环境搭建

    一.selenium工作原理 二.安装python Window系统下,python的安装很简单.访问python.org/download,下载最新版本,安装过程与其他windows软件类似.记得下 ...

  7. C# 动态执行JS

    有时候需要,在程序中灵活的嵌入自定义的计算逻辑,使用C#加载JS脚本形式可以实现: // 添加引用 using Microsoft.JScript; string jsStr = "var ...

  8. (原)关于使用zoompad滤镜生成一个转场效果

    之前在 http://bbs.chinaffmpeg.com/forum.php?mod=viewthread&tid=1294&extra=page%3D1 上分享过一个转场效果,今 ...

  9. Arch Linux 启用 MTU 探测

    最近在家里经常遇到 ssh 超时的问题,一开始也没太当回事,感觉是网络不稳定导致的,但是后来慢慢的发现这种超时问题只会出现在跟 ssh 相关的程序中,例如 git.ssh.这成功的引起了我的注意,于是 ...

  10. 微信多开简单实现 WeXinMoreOpen.bat

    新建一个 WeXinMoreOpen.bat 文件,内容如下 @echo off D: cd "D:\Program Files (x86)\Tencent\WeChat" sta ...