面向对象

什么是面向对象?

  将现实中的问题空间和计算机中的解决空间最大限度的融合,就是   现实中如何处理计算机就如何处理
对象和对象之间有关系吗?
   调用和被调用的关系 包含和被包含的关系
   类里面是这些对象所共有的特性和共有的行为 Java是从类这个      层次开始支持面向对象的
内存
   程序在没有运行的时候是保存在硬盘上的 当程序开始执行的时      候OS把程序装载到内存中也就是给程序分配内存空间
声明类的规范
   【修饰符】class类名【extends基类】【implements:接口1,接      口2....】
类名的规范
     采用驼峰式命名规则每个单词的首字符要大写
类型的作用
     声明变量 声明方法的参数  声明方法的返回类型  强制类型转换
    种声明方法的规范:【修饰符】 返回类型 方法名称【参数列         表】【throws异常1,异常2....】
方法名称的规范
      动词或动词性短语 第一个单词的首字符小写,其余单词的首         字母大写
引用有2种存放形式:一个引用,一个是对象
封装的目的:
     为了实现信息的隐藏该让外界看见的就公开不该让         外界        看见的就隐藏起来
封装的几种形式:
      1.属性私有化但是却提供公开的getter/setter方法,并且可以         在getter/setter方法加入逻辑判断语句避免合法不合理的情况         出现
       2.方法的声明是公开的,方法的实现确实隐藏的
      封装的优点:隐藏了具体的细节 便于代码的维护
构造方法的作用:和new 一起创建对象 初始化对象的属性
构造方法的特点:构造方法和类名是一致的 构造方法没有任何的      返回类型连void都没有
构造方法声明的规范:【修饰符】 类名 【参数列表】 throws异常     1,异常2
参数列表声明的规范:参数1类型1,参数2类型2
方法重载:在一个类中同时声明多个构造方法前提是参数列表不        同,这种形式叫做构造方法重载
参数列表不同指的是:1参数的个数不同 2参数的类型不同
     参数的顺序不同
构造方法重载的目的是:为用户创建对象提供了多种不同的选择
成员变量和局部变量的区别:
  1.成员变量可以使用访问权限修饰符
  2.成员变量的有效范围是在这个类所有的实例方法中,构造方法     中有效
  3.成员变量的声明周期和对象是一致的,而局部变量的声明周期     是从调用方法开始的
 4.JJVM会自动的初始化成员变量(0,0.0,0.0f,false,null)
 5.当成员变量和局部变量名称重复的时候优先使用局部变量真个      规则成为就近原则
 基本类型的变量在传递的时候传递的是基本类型的值
递归方法的调用,在一个方法中调用该方法自己vhengwei递归调用
递归方法的两个必须的条件:1.有效的终止条件2.有效的迭代条件
缺省值:在声明属性的时候赋的值
引用变量传递的是地址
 
数组是种容器可以用来保存在一多个相同类型的数据数组对象一旦创建好之后其长度不能改变
数组中保存的数据成为数组元素
数组本身是一种引用类型也分为引用和对象
 
 
使用for each循环的套路了:1.首先要确定数组的元素是什么?
   2.在 :后面写上要便利的数组
   3.在:前面声明一个和数组元素相同类型的变量
静态初始化数组:把数组的声明数组对象的创建数组元素的初始化时何在一起的
用数组实现一个后进先出的有序的栈类
如何给栈扩容呢?可以利用数组拷贝的功能
调用构造方法的过程:       1.给数组this分配空间并且给属性赋初始值   2.给属性赋缺省值
   3.调用一个参数的构造方法
 4.调用两个参数的
 
 
posted @ 2017-07-21 14:16  超重语言  阅读(131)  评论(0编辑  收藏  举报