1.面向过程与面向对象

  (1)面向对象思维方式是一种更符合人们思考习惯的思想

  (2)面向过程思维方式中更多的体现的是执行者,而面向对象中更多的体现的是指挥者

  (3)面向对象思维方式将复杂的问题简单化

2.类与对象

  (1)定义类的格式

    public class 类名 {

     //可编写0至n个属性

    数据类型 变量名1;

    数据类型 变量名2;

    //可编写0至n个方法

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

    执行语句;

      }

    }

  (2)属性和功能统称为事物中的成员

    事物的成员分为两种:成员属性和成员功能;成员属性->成员变量,成员功能->成员方法

  (4)类是某一类事物的抽象描述,而对象用于表现现实中该类事物的个体。

  (5)局部变量和成员变量的区别

      1.定义位置上的区别
          成员变量,定义在类中,方法外
         局部变量,方法内,语句内
 
         2.作用域不同
         成员变量,作用范围是整个类
         局部变量,方法内,语句内

      3.默认值不同
         成员变量,有自己的默认值
         局部变量,没有默认值,不赋值不能用
 
      4.内存位置不同
         成员变量,跟随对象进入堆内存存储
         局部变量,跟随方法进入栈内存
 
       5.生命周期不同
         成员变量,跟随对象,在堆中存储,内存等待JVM清理,生命相对较长
         局部变量,跟随方法,方法出栈,生命相对较短

3.封装

  (1)面向对象共有三个特征:封装,继承,多态

  (2)封装的好处:

     1、提高了代码的复用性。

        2、隐藏了实现细节,还要对外提供可以访问的方式。便于调用者的使用。这是核心之一,也可以理解为就是封装的概念。

     3、提高了安全性。

  (3)类中不需要对外提供的内容都私有化,包括属性和方法。以后再描述事物,属性都私有化,并提供setXxx getXxx方法对其进行访问。

  (4)私有仅仅是封装的体现形式

4.this关键字:区分成员变量和局部变量

[Day9]面向对象的更多相关文章

  1. Day9 面向对象高级

    一.方法 方法包括:普通方法.静态方法和类方法,三种方法在内存中都归属于类,区别在于调用方式不同. 普通方法:由对象调用:至少一个self参数:执行普通方法时,自动将调用该方法的对象赋值给self: ...

  2. Day9 面向对象进阶

    @property装饰器 之前我们讨论过Python中属性和方法访问权限的问题,虽然我们不建议将属性设置为私有的,但是如果直接将属性暴露给外界也是有问题的,比如我们没有办法检查赋给属性的值是否有效.我 ...

  3. day9面向对象,多线程2

    一.获取全部qq成员头像 import os,requests,pymongo class Qqgroup(object):#定义一个类 #定义获取QQ群的请求rul,抓包获取 group_rul = ...

  4. Java学习day9面向对象编程2-方法的可变个数的参数和方法的参数传递

    一.方法的可变个数的参数. 问题:我们能够打印的信息都是来源于方法的参数,也就是形参的传递.那如何要给方法传递不同的参数? .1.采用数组形参来定义方法 public static void test ...

  5. Java相关英语单词

    day1 Java概述 掌握 .JDK abbr. Java开发工具包(Java Developer's Kit) (abbr.缩写) .JRE abbr. Java运行环境(Java Runtime ...

  6. 大数据技术之_16_Scala学习_04_函数式编程-基础+面向对象编程-基础

    第五章 函数式编程-基础5.1 函数式编程内容说明5.1.1 函数式编程内容5.1.2 函数式编程授课顺序5.2 函数式编程介绍5.2.1 几个概念的说明5.2.2 方法.函数.函数式编程和面向对象编 ...

  7. angular2系列教程(六)两种pipe:函数式编程与面向对象编程

    今天,我们要讲的是angualr2的pipe这个知识点. 例子

  8. 一起学 Java(二)面向对象

    一.方法函数 函数也称为方法,就是定义在类中的具有特定功能的一段独立代码.用于定义功能,提高代码的复用性. 函数的特点1> 定义函数可以将功能代码进行封装,便于对该功能进行复用:2> 函数 ...

  9. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

随机推荐

  1. github上总结的python资源列表【转】

    Python 资源大全中文版 我想很多程序员应该记得 GitHub 上有一个 Awesome - XXX 系列的资源整理.awesome-python 是 vinta 发起维护的 Python 资源列 ...

  2. Git diff结果显示分析

    1.diff的三种格式: 正常格式(normal diff) 上下文格式(context diff) 合并格式(unified diff) 2.示例文件为了便于讲解,先新建两个示例文件.第一个文件叫做 ...

  3. MapReduce 计数器简介

    转自:http://my.oschina.net/leejun2005/blog/276891?utm_source=tuicool&utm_medium=referral 1.计数器 简介 ...

  4. shell脚本 切换用户

    如下: #!/usr/bin/expect -f spawn su root expect "Password:" send "mypasswd\r" inte ...

  5. js中文输入法字符串截断

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. iOS企业版打包 发布在线安装包 plist

    本文转载至 http://blog.csdn.net/u011452278/article/details/49511385 原文转载:http://blog.csdn.net/pang040328/ ...

  7. Excel导入工具类兼容xls和xlsx

    package com.bj58.finance.platform.operation.provider.util; import org.apache.log4j.Logger; import or ...

  8. Oracle RAC环境下ASM磁盘组扩容

    生产环境注意调整以下参数: ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ...

  9. react proxy 报错

    react项目中,package.json中proxy的配置如下 "proxy": { "/api/rjwl": { "target": & ...

  10. PHP中多维数组var_dump展示不全

    转载于http://blog.csdn.net/Merlin_feng/article/details/51733354