java学习之面向对象的四个特性

对象:由行为、状态和唯一标志组成。
一 抽象
   抽象是忽略一个主题中与当前目标无关的方面,把现实世界中的概念转换为对象,可以是表示数据的VO对象或抽象类,也可以是表示一类行为的接口。有利于从众多变化的状态中抽离出不变的东西。有利于使用继承来构造类的体系,实现多态,使用模板和工厂模式方法来实现对业务过程的抽象。抽象是概念建模和业务流程建模很重要的工具,是面向对象体系的基石,而不是一堆杂乱、混乱、重复、散沙般的、关系错综复杂的类。
二 继承
   是一种连结类的层次模型,并且允许和鼓励类的重用,提供了一种明确表示共性的方法。
继承意味着能声明一个类型,而且能继承父类中的所有操作和数据,同事还有机会声明自己的新方法以改进、具体化、代替或者扩展父类中的方法
  使用父类为应用领域建立层次模型,提供代码重用并允许定制。
  防止继承:利用final声明类或方法,意味不能被修改,当一个类被声明为final时,只有方法自动被设为final,而字段不会。final有两个优点:1、安全   2高效
  类型转换:1、必须在继承体系内进行
            2、转换之前,应先使用instanceof进行检验。
  super:不是一个对对象的引用,而是指向编译器调用超类的专用关键字:
        1、调用超类方法 2、调用超类的构造器。
三、多态
    一个对象变量可以指向多种实际类型的现象。
    动态绑定:一个对象在运行时自动选择正确的方法进行调用的现象
    过程:
    1、编译器检查对象的声明类型和方法(虚拟机预先为每个类计算一个方法表)
    2、重载解析:编译器检查方法调用中提供的方法参数类型(方法原型:名字和参数列表,返回值不是原型的一部分)
    3、静态绑定:如果方法是private,static,final的,或者是一个构造器
    4、动态绑定:虚拟机必须调用对象变量所指向的对象的实际类型和匹配的方法版本。
四、封装
    把数据和行为结合在一个包中,并对对象的使用者隐藏数据有关的实现过程,封装赋予对象“黑盒”特性。

时间: 2024-08-04 01:40:27

java学习之面向对象的四个特性的相关文章

Java学习之面向对象四

1.构造方法的格式是什么?有哪些注意事项?  权限修饰符 类名(参数列表){方法体} 注意事项: ? 构造方法没有返回值类型.也不需要写返回值.因为它是为构建对象的,对象创建完,方法就执行结束. ? 构造方法名称必须和类型保持一致.   ? 构造方法没有具体的返回值. 2.构造方法可以重载吗? 里边可以有return语句吗?    可以重载 可以有return,但不能有返回. 3.给成员变量赋值有几种方式?有什么区别? get/set 直接赋值 带参构造器赋值 初始化 static 代码块赋值

Java学习之路(四)面向对象

package com.javaDay_01; public class Text { int id; String name; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public stat

Java学习之面向对象一

1 面向对象 1.1     理解什么是面向过程.面向对象 面向过程与面向对象都是我们编程中,编写程序的一种思维方式. l  面向过程的程序设计方式,是遇到一件事时,思考"我该怎么做",然后一步步实现的过程. 例如:公司打扫卫生(擦玻璃.扫地.拖地.倒垃圾等),按照面向过程的程序设计方式会思考"打扫卫生我该怎么做,然后一件件的完成",最后把公司卫生打扫干净了. l  面向对象的程序设计方式,是遇到一件事时,思考"我该让谁来做",然后那个"

Java学习(一)--面向对象(一)

面向对象的思想一直指导者我们软件的分析.设计与开发.java语言是一种面向对象的语言,在学习java之前,先回顾一下面向过程和面向对象. 一面向过程 面向过程主张按功能来划分系统需求,每个功能都负责对数据进行一次处理,每个功能都接受一些数据.它最小的单位是函数,每个函数负责完成一个功能,整个系统由一个个函数组成,其中有一个主函数,作为程序的入口,主函数依次调用其他普通函数,普通函数之间依次调用,从而完成整个软件系统的功能,其实就是主函数负责把系统中的所有函数"串起来". 从上面的图中我

Java学习 · 初识 面向对象深入一

面向对象深入 1.面向对象三大特征 a) 继承 inheritance 子类可以从父类继承属性和方法 子类可以提供自己的属性方法 b) 封装 encapsulation 对外隐藏某些属性和方法 对外公开某些属性和方法 c) 多态 polymorphism 适应变量的多种变化 1.1 封装 a)   为什么需要封装 隐藏对象内部的复杂性,只对外公开简单接口.便于外界调用,提高系统可扩展性.可维护性: b)   实现封装 使用访问权限符 成员四种访问权限 public 公共的 项目可见 protec

Java学习: 面向对象的使用与注意事项

面向对象的使用与注意事项 面向过程:当需要实现一个功能的时候,每一个具体的步骤都需要亲力,详细处理每一个细节面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事. 类与对象的关系 类是对一类事物的描述,是抽象的. 对象是一类事物的实例,是具体的. 类是对象的模板,对象是类的实例. 定义一个类,用来模拟“学生”事物.其中就有两组成部分: 属性(是什么): 姓名 年龄 行为(能做什么): 吃饭 睡觉 学习 对应到Java的类当中:成员变量(属性): Stri

java学习之面向对象(4)

之前介绍了java面向对象三大特性之一封装,现在来说说三大特性之一继承和抽象类.这些只是我个人的认识,不足之处还请见谅. 1. 继承是面向对象的三大特征之一,那么何为继承呢? 继承是指一个对象直接使用另一个对象的属性与方法,是通过extends关键字让类与类之间产生继承关系.而被继承的类称为父类,继承父类的类称为子类(派生类). //父类 class Animal { //如果属性需要被子类继承,那么可以使用protected关键字,方法也一样 protected String name; pr

Java 学习之面向对象思想、类、对象

一.首先我们先说说面向过程 面向过程”(Procedure Oriented)是一种以过程为中心的编程思想.“面向过程”也可称之为“面向记录”编程思想,他们不支持丰富的“面向对象”特性(比如继承.多态),并且它们不允许混合持久化状态和域逻辑.就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了. 该思想适用与解决简单问题,当程序大到一定程度的时候,其调试和维护就很困难.该思想更贴近计算机,不利于大规模的程序设计.对代码重用支持的不够好. 二.面向对

Java学习之面向对象(概念性质) <好程序员特训营>

<A href="http://www.goodprogrammer.org/" target="blank">android培训</a>------我的java笔记,期待与您交流! 1.面向对象:三个特征:封装,继承,多态 2.开发过程:其实就是找对象使用.没有对象,就创建一个对象 3.类和对象的关系. 现实生活中的对象:张三 李四. 想要描述:提取对象中共性内容.对具体的抽象. 描述时:这些对象的共性有:姓名,年龄,性别,学习java功能