zoukankan      html  css  js  c++  java
  • 面向对象的第二天

    第七天笔记

    1:复习

             1.1:面向过程和面向对象的区别

             1.2:面向对象的分析过程

                       1:分析需求中的对象。

                       2:分析这些对象中的属性和行为

                       3:分析这些对象之间的关系。

             1.3:类的组成部分:成员变量和成员方法。

                       1.3.1:成员变量与局部变量的区别

                                1:局部变量是定义在方法内或者代码块中,而成员变量是定义在类里面和方法外面,表示这个类的属性或者特征。

                                2:成员变量有默认值,而局部变量是没有,必须先赋值后使用。

                                3:成员变量的作用域是在整个类中,而局部变量在它所定义在的{}里面。

             1.4:如何创建对象

                                类名  对象名 = new  类名();

             1.5:如何访问对象的属性和方法。

                       属性:对象名.属性

                       方法:对象名.方法名()

             1.6:构造方法。

                       1.6.1:构造方法的作用:对成员变量进行初始化。

                       1.6.2:构造方法与普通方法的区别

                                1:方法名上,构造方法与类名必须一致,而普通方法的方法名只需要符合标识符的命名规则即可。

                                2:返回值。构造方法在声明的时候是没有返回值的。而普通方法必须要有返回值,如果没有则需要写void.

                                3:作用上。构造方法的作用是对成员变量进行初始化的,而普通方法是为了解决某一些具体的功能。

                                4:调用上。构造方法是在创建的时候才会调用,其他的地方都不能调用。而普通方法要么用类去调用,要么用对象去调用。

             1.6.3:注意事项:

                       1:凡是类都必须有构造方法,如果没有显式得写构造方法,那么会默认增加一个无参的没有方法体的构造方法,如果显式得写了构造方法,则不会增加无参构造方法。

                       2:构造方法也是方法,所以也可以有重载,那么创建对象的时候,根据传递过来的实参序列来调用相应的构造方法。

                       3:一般写构造方法,要么不写,要么就写一个空的构造方法,和一个有参构造方法,而这个参数的个数和类型跟成员变量的个数和类型是一致的。

    2:内存分析。

             内存一共分5个区域:其中寄存器和本地方法去跟硬件和系统相关,不用管它。还有三个区域:堆,栈,方法区。

                       2.1栈:存放局部变量,比如方法中的参数,方法中的变量,语句中的变量

                                堆:存放对象和数组(对象就是由类创造的,封装了数据的,也存放了变量,只不过是成员变量,这些成员变量被打包在一个对象里面了)

    3:参数的传递

             3.1:引用类型:传递的是地址,如对象作为参数传递的是地址

             3.2:基本数据类型:传递的是内容(值),如int型作为参数不就是传一个数字吗?

    4:this关键字

             4.1:this:当前对象的引用。

             4.2:this的用法

                       4.2:访问成员变量   this.成员变量名,有时候也可以不写this.当成员变量和局部变量发生冲突的时候,用this标识是成员变量。

                       4.3:访问成员方法  this.方法名().也可以省略.

                       4.4:this调用构造方法。   this():如果有参数需要传递参数。用this调用构造方法,这条语句必须放在构造方法中的第一条语句。不能用this递归调用构造方法,会陷入死循环。

                      4.5:注意:

                                普通方法不可以调用构造方法。

                                构造方法可以调用普通方法。

             4.3:构造代码块.

                       4.3.1:在类里面方法外面定义的代码块就叫构造代码块。

                       4.3.2:如何执行的?:构造代码块是只要new一次,就执行一次。

                                Dog dog  = new Dog( ); //执行顺序如下

                                1:先执行成员变量默认初始化

                                2:执行显式初始化

                                3:执行构造代码块初始化

                                4:执行构造方法初始化。

                       4.3.3:为什么需要构造代码块?它有什么作用?它跟构造方法有什么区别?

                                构造代码块是对这个类的所有对象进行统一的初始化。而构造方法是对某个对象进行初始化的。

    5:面向对象的特征:继承,封装,多态

             5.1:封装

                       封装的代码表现:成员变量私有化(用private修饰),提供公共的方法供外界访问。

                       有多少个成员变量,一般都会提供这个变量的set和get方法。方便外界调用.eclipse中快速创建get/set方法的方式:在写好成员变量后,执行菜单中 source –> Generate Getter and Setters 即可快速创建,source的快捷键是shift+Alt+s。

                      

  • 相关阅读:
    基础数据结构总结
    图论总结
    【bzoj1614】[Usaco2007 Jan]Telephone Lines架设电话线
    【bzoj1015】星球大战starwar
    NOIP2012摆花
    最勇敢的机器人
    【bzoj1056】排名系统
    图的第k短路
    【bzoj1455】罗马游戏
    ti
  • 原文地址:https://www.cnblogs.com/xinge1993/p/4676285.html
Copyright © 2011-2022 走看看