一张图搞定Java面向对象

  

  刚开始学习Java的时候,一个人跌跌撞撞摸索着往前走,很多东西理解的也懵懵懂懂,后来实践的多了,才慢慢清楚,许多东西虽然很基础但是却很重要,是需要反复思考和加深理解的。头条号”一张图学Java”,分享一些归纳总结后的技术干货,一张图能搞定的事,绝对不长篇大论。   

  

  大家都知道,Java面向对象是Java的一个核心,也是初学者的一个难点,所以我们从这里开始,我们走吧!   

  

  一张图搞定Java面向对象”>
  </p>
  <p>
  Java面向对象
  </p>
  <p>
  面向对象(面向对象)
  </p>
  <p>
  是相对于面向过程而言的,过程其实就是函数,对象是将函数和属性进行了封装。
  </p>
  <p>
  (1)将复杂的事情简单化。
  </p>
  <p>
  (2)面向对象将以前的过程中的执行者,变成了指挥者。
  </p>
  <p>
  (3)面向对象思想是符合人们思考习惯的一种思想。
  </p>
  <p>
  面向对象和面向过程区别
  </p>
  <p>
  ——面向过程:事物比较简单,可以用线性的思维去解决。
  </p>
  <p>
  ——面向对象:事物比较复杂,使用简单的线性思维无法解决。
  </p>
  <p>
  ——共同点:都是解决实际问题的一种思维方式。解决复杂问题,通过面向对象方式便于我们从宏观上把握事物之间复杂的关系,方便我们分析整个系统,具体到微观操作,仍然使用面向过程方式来处理。
  </p>
  <p>
  对象
  </p>
  <p>
  接收消息的实体,一切皆为对象,对象都有属性和行为,对象都属于某个类,每个对象都是独一无二的。
  </p>
  <p>
  类
  </p>
  <p>
  创建对象的蓝图和模板
  </p>
  <p>
  类的属性:数据抽象
  </p>
  <p>
  类的方法:行为抽象
  </p>
  <p>
  构造器(构造方法)
  </p>
  <p>
  接口
  </p>
  <p>
  抽象方法的集合
  </p>
  <p>
  (1)作用:
  </p>
  <p>
  ——能力,实现一个接口就代表具备了某方面的能力。
  </p>
  <p>
  ——约定,一个类实现了接口就必须实现接口中的所有抽象方法否则要被声明为抽象类。
  </p>
  <p>
  ——角色,一个类可以实现多个接口来扮演多种角色
  </p>
  <p>
  (2)接口之间可以继承而且支持多重继承
  </p>
  <p>
  (3)从Java 8开始接口中的方法允许有默认实现
  </p>
  <p>
  (4)常见的接口用法
  </p>
  <p>
  ——单方法接口(函数式接口):λ表达式,@FunctionalInterface
  </p>
  <p>
  ——标识性接口
  </p>
  <p>
  ——普通接口
  </p>
  <p>
  ——常量接口(接口最不正确的用法)
  </p>
  <p>
  Java面向对象语言的三大特点
  </p>
  <p>
  ——继承:从已有类创建新类的过程。
  </p>
  <p>
  父类(超类/基类):提供继承信息的类
  </p>
  <p>
  子类(派生类):得到继承信息的类
  </p>
  <p>
  ——封装:隐藏一切可隐藏的实现细节提供简单的编程接口。私有属性,公有方法。好处:将变化隔离,便于使用,提高重用性、安全性。
  </p>
  <p>
  ——多态:
  </p>
  <p>
  方法重写:子类对父类的方法给出自己的实现版本。
  </p>
  <p>
  对象造型:用父类型的引用去引用子类对象。
  </p>
  <p>
  成员
  </p>
  <p>
  定义在类中。成员有两种:
  </p>
  <p>
  (1)成员变量:其实对应的就是事物的属性。
  </p>
  <p>
  (2)成员函数:其实对应的就是事物的行为。
  </p>
  <p>
  局部变量和成员变量的区别
  </p>
  <p>
  (1)成员变量直接定义在类中。
  </p>
  <p>
  局部变量定义在方法中,参数上,语句中。
  </p>
  <p>
  (2)成员变量在这个类中有效。
  </p>
  <p>
  局部变量只在自己所属的大括号内有效,大括号结束,局部变量失去作用域。
  </p>
  <p>
  (3)成员变量定义在堆内存中,随着对象的产生而存在,消失而消失。
  </p>
  <p>
  局部变量存在于栈内存中,随着所属区域的运行而存在,结束而释放。
  </p>
  <p>
  构造函数
  </p>
  <p>
  用于给对象进行初始化,函数中的一种。构造函数是在对象创建时被调用的,而且初始化动作只执行一次。
  <h2 class=一张图搞定Java面向对象