封装
java中的第一特性就是封装,以世界中的实体体现到计算机的世界,每个对象都有自己的属性和行为。java中用类来将属性和行为封装到一起,将这个类的实例创建出来以后,这个实例就有这样的属性和行为,并对实例的使用者隐藏数据的实现过程。
1、封装的基本原则:
1)将实例变量标记为私有的(private),表示只能在类的内部使用。
2)提供公有(public)的get和set方法,用来控制对实例变量的存取动作。
其中,实例变量在初始化的时候(不赋值的情况下)默认是有初始值的,而局部变量(方法内部的变量)是没有初始值的,在没有赋值的情况下使用局部变量则会报错。
2、在对象调用类中的方法时,可能会传参数,这里根据参数的类型分为按值传参和按引用传参两种方式。
基本数据类型作为参数时,按照值传递的方式。也就是说定义一个基本数据类型的变量并赋值,然后该变量作为参数传递,如果在方法中对该变量值做修改,则该变量在本身定义处的值不会改变。
引用数据类型作为参数时,如果在方法内部对变量的属性值做了修改,那么该变量的属性值就会随着修改。
继承
java中第二特性就是继承。
1、继承的目的:实现代码的复用、定义出某些类共同的模板。
2、继承的概念:被继承的类叫做父类(基类或者超类),实现继承的类叫做子类。子类拥有父类的所有公有的实例变量和方法,通过关键字extends实现,且类的继承只能是单继承,一个子类只能有一个父类,但是子类可以拥有父类的特性(公有的实例变量和方法),也可以拥有父类的父类的特性(公有的实例变量和方法),这叫做继承的传递性。
3、继承产生的关系:同时子类还可以有自己的实例变量和方法,子类可以重写父类的方法,子类在调用的时候,会先监测自己是否有这个方法,如果有则调用自己的;若自己没有这个方法而直接父类有,则会调用直接父类的;如果直接父类也没有,则会调用间接父类的。如果子类重写了父类的方法,但是子类在调用的时候想要调用直接父类的方法则使用super.方法名()来实现调用直接父类的方法,如果子类想要调用间接父类的方法,则要通过直接父类的super.方法名()来调用。所有的类都继承自Object,如果类定义时没有继承任何类,那么这个类的直接父类就是Object,如果类继承了我们定义的其他类,那么这个类是间接的继承了Object类,所有的类都拥有Object类的方法,如果Object类的方法不满足需求时可以在子类中进行重写,我们经常重写的方法有toString()、equals()方法。
4、重写:子类声明一个和父类相同的方法,包括访问修饰符、返回值、方法名、参数类型、参数个数。
5、继承中的构造方法:在创建子类的对象时,java会默认的通过super();来调用父类的构造方法,创建父类对象,也就是必须按照继承关系由高到低(父→子)进行调用,这部分工作java已经悄悄地替我们做了,然而如果父类的构造方法被重载并且没有定义无参的构造方法,那么子类中的参构造方法(不论是否是有参构造还是无参构造)是不会被编译器通过的,此时要在子类的构造方法中重新调用父类的新的构造方法才可以,并且子类的每个构造方法中只能调用一次父类的构造方法。
多态
1、多态存在的条件:
有继承关系;实现类中方法的重写;父类引用子类对象;
由以上得知,封装和继承是实现多态的前提条件。
2、多态的定义:同一个方法可以根据发送对象的不同而有不同的行为表现。通过动态绑定实现,在执行的时候判断对象的实际类型,来确定调用相应不同的方法。
3、多态作用:
3.1 降低类之间的耦合程度:通过方法返回父类或者参数传递父类,即父类指向子类对象的形式减少子类对象在方法中的比例程度,降低耦合。
3.2 提高可替换性:还是通过父类指向子类来体现。
3.3 提升可扩展性:在父类的基础上增加子类的个数不受限制,增加的子类不会影响现有的多态结构。
3.4 通过接口提升通用性:父类通过方法签名,给子类提供接口,子类在父类基础上进行方法重写来达到自己的特殊需求。
3.5 灵活性:子类的增加、以及接口的提供都提升了程序的灵活性。
多态规则:
在多态的情况下,引用数据类型可以是实际对象类型的父类;
当父类指向子类时,只能调用父类中具有的方法,不能调用子类中特有的方法,但是可以调用子类重写过父类的方法;
当方法的返回类型为父类时,说明方法可以返回父类及其父类下面所有子类对象;
当方法的参数为父类时,说明可以传入父类及其父类下面所有子类对象。
相关推荐
封装继承多态总结
java封装 继承与多态 程序设计 类与对象
Educoder题目:Java面向对象 - 封装、继承和多态答案解析
本资源摘要信息将对 Java 基础知识点进行总结,涵盖继承、封装、多态等概念,并对面向对象的设计、数据库设计模式等进行讲解。 继承 继承是 Java 中的一种机制,允许一个类继承另一个类的属性和方法。继承的语法是...
Educoder题目:Java面向对象 - 封装、继承和多态的综合练习答案解析
在这个实例中,我们将探讨四个关键概念:封装、继承、多态以及文件流操作,这些都是Java中的核心特性,也是理解OOP(面向对象编程)的基础。 首先,**封装**是面向对象编程的核心理念之一,它涉及将数据和方法捆绑...
java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素封装继承和多态源码java面向对象三要素...
JAVA 封装继承与多态是面向对象程序设计语言中三个重要的概念,本文将对这三个概念进行详细的解释。 一、封装 封装是指隐藏对象的内部细节,使对象外部不能随意存取对象的内部数据的过程。JAVA 中,对象就是一个...
Java 中继承与多态的题目 本资源摘要信息是关于 Java 中继承和多态的题目,涵盖了面向对象编程的基本概念和继承机制的应用。 继承的概念 继承是面向对象编程的一种机制,允许一个类(子类)继承另一个类(父类)...
这个名为“前端模块化脚手架”的工具,旨在为前端开发者提供一个类似于Java语言的封装、继承和多态特性的开发环境。通过这样的框架,开发者可以在JavaScript中模拟出面向对象编程的特性,使前端开发更加规范和高效。...
在Java编程语言中,继承、封装和多态是面向对象编程的三大核心概念,它们构成了Java类层次结构的基础。在这个名为"four_java继承封装和多态_four_againgpg_"的压缩包中,我们预计将看到三个不同的Java类,这些类展示...
OOP 的主要特征包括封装、继承和多态。 1. **封装**:封装是将数据和操作数据的方法捆绑在一起,隐藏对象的属性和实现细节,仅对外提供公共访问方式。这样可以减少外部环境对对象的影响和破坏,提高代码的安全性和...
java面向对象的基本知识,封装继承多态等
通过分析给定的文件名称"demo",我们可以推测这是一个示例代码或者演示程序,可能包含了对Java封装、继承和多态的实践应用。在深入研究这个"demo"文件之前,开发者可以先理解这三个基本概念,以便更好地理解代码逻辑...
java总结,基础语法,面向对象,封装继承多态,异常
封装、继承、多态 一、 封装 封装是面向对象编程的三大特性之一,它是指将同一类事物的特性与功能包装在一起,对外暴露调用的接口...Java 面向对象的三大特性是:封装、继承与多态。这三大特性是面向对象编程的核心。
面向对象编程是Java的核心特性,它包括三个主要概念:封装、继承和多态。下面将分别详细介绍这三个概念以及它们在Java编程中的应用。 **封装**是面向对象编程的基础,它强调将数据和行为捆绑在一起,形成一个独立的...
在Java语言中,封装、继承和多态是面向对象编程(OOP)核心概念中的三大特性,它们各自有着明确的定义和作用,而三者之间又存在着紧密的联系。封装确保了对象的内部实现的隐藏,继承实现了代码的重用,多态则增强了...
在Java中,`extends`关键字用于实现继承,多态则通过方法重写和抽象类/接口来实现。 3. **类和对象**:类是对象的蓝图,它定义了对象的属性(变量)和行为(方法)。对象是类的实例,具有类定义的属性和方法。Java...
在 Java 中,面向对象编程主要体现在三大特征:封装、继承和多态。 封装是指隐藏对象的内部细节,而仅暴露必要的信息给外部世界。通过封装,可以保护对象的内部状态,并提供对外部访问的接口。在 Java 中,封装可以...