zoukankan      html  css  js  c++  java
  • Java 面向对象的三大特征

    Java 面向对象的三个特征 

    面向对象主要由三大特性:

    •   封装
    •   继承
    •   多态

    Java是一种面向对象的程序设计语言,面向对象就是再计算机设计程序过程中,参照现实中事物,讲事物的属性特征、行为特征抽象出来,描述成计算机事件的设计思想。

    什么是类?  类是一种相关属性和行为的集合。是抽象的

    什么是对象?对象是一类事物的具体体现。即对象是类的一个实例。

    一、封装

    封装定义:编写一个类就是对数据和数据的操作封装,封装即时隐藏一切可隐藏的东西,只向外界提供最简单的编程接口。

    封装原则:将属性隐藏起来,若需要访问某个熟悉,提供公共方法对其访问。

    封装的步骤: 1. 使用private 关键字修饰成员变量。 2. 对需要访问的成员变量,提供对应的getXxx 和 setXxx 方法。

    二、继承

    继承定义: 子类继承父类的特征和行为。提供继承信息的类被称为父类(基类),得到继承信息的类被称为子类(派生类)

    继承特点:1、一个类只能继承一个父类,构造方法不能被继承。  2、支持多层继承   3、父类private 的属性和方法不能继承

    继承格式:     

         class 父类 { }

        class 子类 extends 父类 { }

    super 和 this :    super.成员变量---父类   super.成员方法  ---父类

            this.成员变量---本类   this.成员方法  ---本类

    三、多态

    多态定义:同一个行为具有多个不同表现形式或形态能力

    优点: 1、消除类型之间耦合关系  2、可扩充性  3、接口性 4、灵活性 5、简化性 6、可替换行

    多态实现方式

    方式一:重载与重写

    重载:在一个类中,同一个方法名称,不同的参数类型及个数,可以完成不同功能。

    重写:同一个方法名称,子类继承父类的方法,根据操作的子类不同,所完成的功能也不同。

    方式二:抽象类和抽象方法

    抽象方法:一个没有方法体的方法称为抽象方法。    格式:修饰符 abstract 返回值类型 方法名(参数列表){}

    抽象类:abstract class 类名{}

    特点:1、抽象类中不一定有抽象方法,但有抽象方法的类一定是抽象类

       2、抽象类不可以是实例化

       3、抽象类的子类,可以是抽象类,也可以是具体类。如果子类为具体类,需要重写抽象类中所有抽象方法

    方式三:接口

    定义:是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。

        接口无法被实例化,但是可以被实现. 一个实现接口的类,必须实现接口内所描述的所有方法,否则就必须声明为抽象类。

    接口与类的区别:

       1、接口不能用于实例化对象。

       2、接口没有构造方法

       3、接口中所有的方法必须是抽象方法。

       4、接口只能被类实现,不能被类继承。

       5、接口支持多继承。

       6、接口只能含 static 和final 变量。

    接口与抽象的区别:

      1、一个类只能继承一个抽象类, 而一个类可以实现多个接口。

      2、抽象类中的方法可以有方法体, 接口中的方法必须是抽象方法,无方法体。

      3、抽象类中的成员变量可以是各种类型,而接口中的成员变量只能是 public static final 类型。

      4、抽象类可以有静态代码块和静态方法,接口中不能含 静态static 修饰的方法。

    final 关键字:

    表示最终的意思,可修饰类、成员方法、成员变量

    修饰类:类不可被继承

    修饰成员方法:方法不能被重写

    修复成员变量:变量为常量,值不可以改变

     

     

     

  • 相关阅读:
    mysql基础(三)存储引擎和锁
    为给定字符串生成MD5指纹
    区块链基本原理,Part-2:工作量证明和权益证明
    区块链基本原理,Part-1:拜占庭容错
    区块链挖矿 2.0
    以太坊 2.0 中的验证者经济模型,Part-2
    以太坊 2.0 中的验证者经济模型,Part-1
    Java归并排序之递归
    Python爬虫入门教程 64-100 反爬教科书级别的网站-汽车之家,字体反爬之二
    Java棋盘覆盖问题
  • 原文地址:https://www.cnblogs.com/zhangxiya/p/15397866.html
Copyright © 2011-2022 走看看