面向对象

面向对象思想

  • 面向对象是相对面向过程而言
  • 面向对象和面向过程都是一种思想
  • 面向过程:强调的是功能行为
  • 面向对象:将功能封装进对象,强调具备了功能的对象
  • 面向对象是基于面向过程的

面向对象举例

举例1(冰箱)

  • 面向过程:打开冰箱,存储冰箱,关闭冰箱
  • 面向对象:冰箱(打开,存储,关闭)

举例2(窗口)

  • 面向过程:移动窗口,最小化窗口,最大化窗口
  • 面向对象:窗口(移动,最小化,最大化)

类与对象

概念

  • 类:将具有==相同属性和相同行为的一组对象==称为类。即用于描述一组对象的共同特征和行为。
    注:类是一个抽象的概念,要利用类的方式解决问题,必须用类创建一个实例化的类对象,然后通过类对象去访问类的成员变量,去调用类的成员方法类实现程序的功能

  • 对象:一个对象由==一组属性和一组对属性进行操作的方法==构成

对象的特征

  • 静态特征:指对象的外观、性质、属性等。人们将对象的静态特征抽象为属性,用数据来描述,java中称之为==变量==。

  • 动态特征:指对象具有的功能、行为等。人们将对象的动态特征抽象为行为,用一组代码来表示,完成数据的操作,java中称之为==方法==。

变量(属性)
成员变量:定义在类中的变量称为成员变量。在类方法外。
局部变量:定义在方法中的变量称为局部变量。在方法中定义或方法声明上

方法(函数)
成员方法:
构造方法:

对象的创建及内存图

创建对象:Persion p=new Persion();

  • new Persion()用于创建Persion类的一个实例对象
  • Persion p 则是声明了一个Persion类类的变量p
  • = 号用于将Persion对象在内存中的地址赋值给变量p,这样变量p便有了对象的引用。【即把引用值存储在变量s中】

匿名对象

定义:没有名字的对象,匿名对象调用完就是垃圾
例如;
new car().num = 5; //这就是匿名对象

匿名对象调用方法比较有意义,调用属性没有意义

  • 使用方式1:当对对象的方法只调用一次时,可使用匿名对象来完成,这样比较简化。如果对一个对象进行多个成员调用时,必须给这个对象起个名字

  • 使用方式2:可以将匿名对象作为实际参数进行传递

java基础(2)-面向对象(1)的更多相关文章

  1. Java基础-初识面向对象编程(Object-Oriented-Programming)

    Java基础-初识面向对象编程(Object-Oriented-Programming) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. Java是一门面向对象的程序设计语言.那么什 ...

  2. 黑马程序员——【Java基础】——面向对象(二)异常机制、包(Package)

    ---------- android培训.java培训.期待与您交流! ---------- 一.异常机制 (一)异常概述 1.异常:就是程序在运行时出现不正常情况. 2.异常类:程序在运行时,出现的 ...

  3. Java基础之面向对象以及其他概念

    一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平台,jvm不是跨平台的. JR ...

  4. 【Java基础】面向对象下

    面向对象下 这一章主要涉及其他关键字,包括 this.super.static.final.abstract.interface.package.import 等. static 在 Java 类中, ...

  5. 【java基础】面向对象的三大基本特征之-------继承

    面向对象的三大特征:封装,继承,多态 java通过extends关键字来实现继承,而且是单继承,一个子类只可以有一个直接父类,但是父类还可以有父类... java.long.Object是所有类的父类 ...

  6. 黑马程序员——【Java基础】——面向对象(一)概述、类与对象、继承、抽象类、接口、多态、内部类

    ---------- android培训.java培训.期待与您交流! ---------- 一.面向对象概述 1.面向对象:是一个很抽象的概念,它相对面向过程而言,是一种程序设计的思想. 2.面向对 ...

  7. 再探java基础——对面向对象的理解(1)

    对象 对象是人们要进行研究的任何事物,从最简单的整数到复杂的飞机等均可看作对象,它不仅能表示具体的事物,还能表示抽象的规则.计划或事件.对象具有属性和行为,在程序设计中对象实现了数据和操作的结合,使数 ...

  8. Java基础(6)- 面向对象解析

    java面向对象 对象 知识点 java 的方法参数是按值调用,是参数的一份拷贝 封装 使用private将 属性值/方法 隐藏,外部只能调用 get,set方法/非private 的接口 获取 重载 ...

  9. Java基础总结--面向对象1

    ---面向对象的概念---1.面向过程与面向对象的区别面向过程:是一种思维习惯,解决一个问题的时候靠的是一个个方法调用--核心是动作面向对象:是一种更接近生活中解决问题的思维习惯,解决特定的问题靠对象 ...

  10. Java基础知识➣面向对象(八)

    概述 Java和C#都是面向对象语言,面向对象编程是目前高级语言习惯的编程模式,与C++编写过程编程而言,面向对象使用起来高效.灵活:面向对象的三个特征:封装.继承和多态. Java面向对象 1.类封 ...

随机推荐

  1. pycharn设置git提交代码

    1.设置pycharm的git地址 2.设置git地址及本地路径 3.提交代码

  2. X明X源面试题《二》

    一.解释5种访问修饰符答:public-访问不受限制.private-访问范围为它所属的类.protected-访问范围为它所属的类或从该类派生的类.internal-访问范围为当前程序集.prote ...

  3. 1020 逆序排列(DP)

    1020 逆序排列 基准时间限制:2 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序 ...

  4. 仿Windows制作TreeView数据加载

    时间有限就直接贴源码吧,理解思路即可. 页面代码: <asp:TreeView ID="TreeViewLeft" runat="server" Show ...

  5. base64文件上传的问题

    package com.zhicall.media.util; import java.io.FileInputStream; import java.io.FileOutputStream; imp ...

  6. Time-series Storage Layer Time Series Databases 时间序列

    w 关于时间序列数据库的思考-CSDN.NET  http://www.csdn.net/article/2015-07-13/2825192  存储和处理时间序列数据(“Time Series Da ...

  7. python基础里的那些为什么?

    一.执行python脚本的两种方式? 直接在解释器里编写并在解释器里执行 文件编写,并在终端通过 python 路径  这种方式执行 好,我们就以输出hello world这个例子来比较两种方式的不同 ...

  8. MySQL中自适应哈希索引

    自适应哈希索引采用之前讨论的哈希表的方式实现,不同的是,这仅是数据库自身创建并使用的,DBA本身并不能对其进行干预.自适应哈希索引近哈希函数映射到一个哈希表中,因此对于字典类型的查找非常快速,如SEL ...

  9. B-Tree vs LSM-tree

    什么是B-树 一.已排序文件的查找时间 对一个有N笔记录的已排序表进行二叉查找,可以在O(log2N)比较级完成.如果表有1,000,000笔记录,那么定位其中一笔记录,将在20 ( log21,00 ...

  10. python构造wireshark可以解析的LTE空口数据

    Wireshark是可以解析LTE的空口数据.但是在wireshark的实现中,这些数据都是被封装到UDP报文中.然后根据wireshark的格式文件对LTE的数据加上头信息.头信息的定义参考附件pa ...