5.1-全栈java笔记:面向对象的特征继承|上

     2022-03-19     308

关键词:

JAVA面向对象进阶

本章重点针对面向对象的三大特征:继承、封装、多态,进行详细的讲解。很多概念对于初学者来说,更多的是先进行语法性质的了解,不要期望,通过本章学习就搞透面向对象。本章只是面向对象的起点,后面所有的章节说白了都是面向对象这一章的应用。

老鸟建议

建议大家,学习本章,莫停留!学完以后,迅速开展后面的章节。可以说这么说,以后所有的编程都是面向对象的应用而已!

继承(extend)

继承的实现

继承让我们更加容易实现类的扩展。 比如,我们定义了人类;再定义Boy类就只需要扩展人类即可。实现了代码的重用,让我们不再重新发明轮子(don’t  reinvent  wheels)


从英文字面意思理解,extends的意思是“扩展”。子类是父类的扩展。现实世界中的继承无处不在。比如:

   现实世界中的继承

上图中,哺乳动物继承了动物。意味着,动物的特性,哺乳动物都有;在我们编程中,如果新定义一个Student类,发现已经有Person类包含了我们需要的属性和方法,那么Student类只需要继承Person类即可拥有Person类的属性和方法。

【示例1】使用extends实现继承

package   com.bjsxt.gao;

 

public class   Test{

    public static void   main(String[] args) {

       Student s = new   Student("高淇",172,"java");

       s.rest();

       s.study();

    }

}


class   Person {

    String name;

    int height;

 

    public void   rest(){

       System.out.println("休息一会!");

    }

   

}

 

class   Student extends Person {

    String major; //专业

    public void   study(){

       System.out.println("在尚学堂,学习JAVA");

    }

   

    public   Student(String name,int   height,String major) {

       //天然拥有父类的属性

       this.name =   name;

       this.height =   height;

       this.major =   major;

    }

}

   示例1 运行效果图

instanceof 运算符

instanceof是二元运算符,左边是对象,右边是类;当对象是右面类或子类所创建对象时,返回true;否则,false。比如:

public class   Test{

    public static void   main(String[] args) {

       Student s = new   Student("高淇",172,"java");

       System.out.println(s   instanceof Person);

       System.out.println(s   instanceof Student);

    }

}

执行结果都是返回:true

继承使用要点

1.子类继承父类,可以得到父类的全部属性和方法(除了父类的构造方法),但不见得可以使用(比如,父类私有的属性和方法)

2.Java中只有单继承,没有像C++那样的多继承。多继承会引起混乱,使得继承链过于复杂,系统难于维护。

3.Java中类没有多继承,接口有多继承。

4.如果定义一个类时,没有调用extends,则它的父类是:java.lang.Object

5.父类也称作超类、基类、派生类等。

方法的重写override

子类通过重写父类的方法,可以用自身的行为替换父类的行为。方法的重写是实现多态的必要条件。        

方法的重写需要符合下面的三个要点:

1.“==”:  方法名、形参列表相同。

2.“≤≤”:返回值类型和异常类型,子类小于等于父类。

3.“≥”:  访问权限,子类大于等于父类

【示例2】方法重写

package   com.bjsxt.javase;

 

public class   TestOverride {

    public static void   main(String[] args) {

       Vehicle v1 = new   Vehicle();

       Vehicle v2 = new   Horse();

       Vehicle v3 = new   Plane();

      

       v1.run();

       v2.run();

       v3.run();

       

       v2.stop();

       v3.stop();

      

    }

}

 

class   Vehicle { //交通工具类

    public void   run(){

       System.out.println("....");

    }

   

    public void   stop(){

       System.out.println("停止不动");

    }

}

 

class   Horse extends Vehicle {  //马也是交通工具

 

    public void   run() { //重写父类方法

       System.out.println("四蹄翻飞,嘚嘚嘚...");

    }

}

 

class   Plane extends Vehicle {

   

    public void   run() {  //重写父类方法

       System.out.println("天上飞!");

    }

   

    public void   stop() {

       System.out.println("空中不能停,坠毁了!");

    }

}

 

示例运行效果图


本节我们先聊到这儿,下节我们继续聊……





「全栈Java笔记」是一部能帮大家从零到一成长为全栈Java工程师系列笔记。笔者江湖人称 Mr. G,10年Java研发经验,曾在神州数码、航天院某所研发中心从事软件设计及研发工作,从小白逐渐做到工程师、高级工程师、架构师。精通Java平台软件开发,精通JAVAEE,熟悉各种流行开发框架。



 笔记包含从浅入深的六大部分:

 A-Java入门阶段

 B-数据库从入门到精通

 C-手刃移动前端和Web前端

 D-J2EE从了解到实战

 E-Java高级框架精解

 F-Linux和Hadoop 



本文出自 “12931675” 博客,请务必保留此出处http://12941675.blog.51cto.com/12931675/1942393

5.3-全栈java笔记:面向对象特征封装多态

封装(encapsulation)封装的作用和含义我要看电视,只需要按一下开关和换台就可以了。有必要了解电视机内部的结构吗?有必要碰碰显像管吗?制造厂家为了方便我们使用电视,把复杂的内部细节全部封装起来,只给我们暴露简单... 查看详情

java学习笔记

面向对象最早70年代IBM的smalltalk面向过程:针对于某一个问题单独提出解决方案以及代码开发面向对象:以一种组件化的形式进行代码的设计。这样开发出来的代码最大的好处是可以复用(组件化的设计思想) 面向对象程序... 查看详情

java面向对象特征

面向对象特征面向对象三大特征:集成,封装,多态继承继承:-子类可以从父类继承属性和方法-对外公开某些属性和方法要点(eclipse中Ctrl+T查看继承结构)1.父类也称超类,基类,派生类2.Java中只有单继承,没有C++那种多继承3.接口有多继... 查看详情

java面向对象编程三大特征-多态

Java面向对象编程三大特征-多态本文关键字:Java、面向对象、三大特征、多态多态是面向对象编程的三大特征之一,是面向对象思想的终极体现之一。在理解多态之前需要先掌握继承、重写、父类引用指向子类对象的相关概念,... 查看详情

4.3-全栈java笔记:面向对象的内存分析

面向对象的内存分析为了让大家对于面向对象编程有更深入的了解,我们要对程序的执行过程中,内存到底发生了什么变化,进行剖析,让大家做到“心中有数”,通过更加形象的方式理解程序的执行方式。老鸟建议:  ... 查看详情

java面向对象三大特征之继承和多态(代码片段)

...转型多态代码案例总结前言  上一篇博客我们介绍了Java面向对象思想以及三大特征之一的封装。本文将介绍面向对象三大特征的剩下两个特征——继承和多态,我个人认为继承和多态是三个特征中比较重要且理解起来稍有... 查看详情

java基础知识学习笔记

  理解面向对象:Java纯粹的面向对象的程序设计语言,主要表现为Java完全支持面向对象的三个基本特征:继承、封装、多态。Java程序的最小单位是类,类代表客观世界中具有某种特征的一类事物,这些类可以生成系统中的多... 查看详情

java基础面向对象三个特征:继承

一、什么是继承?日常生活我们理解的继承:子女继承父母的财产;徒弟继承师父的功夫/衣钵等等;计算机中的继承:  1、子类继承父类的属性和行为;如,小猫、小狗都属于动物,具有高度相似的属性和行为(属性:名字... 查看详情

继承(面向对象特征之二)

好处:1:提高了代码的复用性。2:让类与类之间产生了关系,提供了另一个特征多态的前提。 父类的由来:其实是由多个类不断向上抽取共性内容而来的。java中对于继承,java只支持单继承。java虽然不直接支持多继承,但... 查看详情

java面向对象---继承

面向对象共有三个特征:封装,继承,多态。继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继... 查看详情

java中面向对象的三大特征是啥?

面向对象三大特性继承:一般类只能单继承,内部类实现多继承,接口可以多继承封装:访问权限控制public>protected>包>private内部类也是一种封装多态:编译时多态,体现在向上转型和向下转型,通过引用类型判断调用哪... 查看详情

4.1-全栈java笔记:对象的进化史

面向对象和面向过程的区别面向过程编程思想思考问题时,我们首先思考“怎么按步骤实现?”并将步骤对应成方法,一步一步,最终完成。 这个适合简单任务,不需要过多协作的情况下。比如,如何开车?我们很容易就列... 查看详情

python笔记——面向对象的细节(代码片段)

众所周知,面向对象的三大特征就是封装、继承和多态,这是面向对象的语言都具备的特征,只是不同语言在实现上会有所不同。那么python是怎么实现这三个特征的呢?咱这就来唠唠。封装封装是为了提高程序的... 查看详情

python笔记——面向对象的细节(代码片段)

众所周知,面向对象的三大特征就是封装、继承和多态,这是面向对象的语言都具备的特征,只是不同语言在实现上会有所不同。那么python是怎么实现这三个特征的呢?咱这就来唠唠。封装封装是为了提高程序的... 查看详情

java面向对象特征

(1).抽象:把需要用到的重要的东西抽出来,不重要的东西忽略掉。 (2).继承:子类继承父类的非私有成员,重用具有相同的属性,当父类方法满足不了时,重写父类不具有的特征属性,方法结构保持与父类一致。(既能重用... 查看详情

谈面向对象的三大特征

 引:什么是面向对象? 面向对象,专注于由谁(哪个对象)来解决这个问题,而调用者无需关注对象实现的细节。 编程特点:出现了一个个的类,从类中拿到对象,通过对象直接解决问题。 应用:Java PHP c++ c#... 查看详情

java入门十八面向对象的三大特征之一-继承

        继承是面向对象软件技术当中的一个概念,与多态、封装共为面向对象的三个基本特征。继承可以使得子类具有父类的属性和方法或者重新定义、追加属性和方法等。​继承    ... 查看详情

java面向对象的三大特征之继承

目录初识继承继承中的几个注意点铁汁们,好久不见😁。我们前面聊了聊Java中封装那点事,那么今天就让我们看看Java中的继承到底是个什么东东😉初识继承😎我们先不说是继承的概念是什么?那概念太... 查看详情