美文网首页
CTO介绍Java面向对象编程进阶「附图片解析」

CTO介绍Java面向对象编程进阶「附图片解析」

作者: 像程序一样思考 | 来源:发表于2018-12-17 20:55 被阅读18次

JAVA面向对象进阶编程

5.2抽象类

有时,由于对象高级抽象的需要,希望类只需要说明方法首部,而不需要或不可能说明其方法体,其方法体只能由其子类来完成,这样的类需要使用abstract关键字修饰,这种类被称为抽象类。

5.3继承

继承概述:

在Java编程语言中,通过继承可利用已有的类,并扩展它的属性和方法。这个已有的类可以是语言本身提供的、其他程序员编写的或程序员原来编写的。

如果在声明类A时,指明类A继承了类B (类B是一个已定义了的类),则类A通常就拥有了类B的成员变量和方法。此时,类B称为类A的父类( superclass) ,父 类也称为超类或基类:类A称为类B的子类(subelass),子类也称为派生类。Objet类 是Java中所有类的父类,也就是说Java中的类直接或间接有Object类派生而来。

Java中实行单继承,即一个类只能有一个父类。

继承语法格式, 类继承语法形式如下:

[修饰符] class SubClassName extends SupperClassName

extends是继承关键词。SubClassName是新的子类名,

SupperClassName是继承的父类名。父类名是必需的,而且只能有一个,因为Java中实行单继承。父类名所指定的类必须是在当前编译单元中可以访问的类,否则会产生编译错误。

子类的特性:

①子类拥有其父类的所有属性和方法。但父类中说明为private的属性和方法,子类不可直接访问。

②子类可以对父类的方法覆盖或重载。

子类对父类成员重载,子类可以对父类的方法覆盖或重载。

方法覆盖:子类的方法首部与父类的方法首部相同,但是子类重新实现了该方法。

方法重载: Java中方法可重载,就是方法名相同但形参列表不同之方法。子类的方法对父类的方 法也可重载。

如果子类声明了一个与父类的成员变最同名的成员变量,则称父类的该成员变量被隐藏(Hiding) ,如果子类声明了一个与父类的成员方法同名的成员方法,则称父类的该成员方法被重写

(Overriding)。关键字this和super分别用来指明子类和父类中同名的成员变量和方法。当父类的成员变量、子类的成员变量和类的对象方法使用的局部变量.者同名,或其中两个同名时,可以使用关键字this和super来指定所要使用的变量。

继承是面向对象编程的主要优点之-,它对如何设计Java类有着

直接的影响。继承有如下儿点好处:

null、 this、 super

Java语言规范中,每个类均有这样3个对象:

(null、this、super)

( nulI ——“空”变量,表示这个对象不存在相应的实例)

例如: Rectangle rect=nul I ;

当一一个对象不再有用时,应当清除它以释放所占用的内存空间,这只要赋予它nu11即可。即如: rect=null ;

this 一一 代表对象本身

在类的方法中,如果要引用的变量名或方法名的成员变量名或成员方法名相同,则可通过使用this来代表对象本身,即引用对象自身。

super一代表父类

当子类中有与父类同名的变量或方法时,可加上super限定词来指明是对父类的变量或方法的引用。

下面是this和super是使用的例子。

final类(最终类)

final修饰符可以定义一个 不能被继承的类,即不能再有子类。java.lang. System类就是final类的一个例子,它是最终的类。final 修饰符通常是出于安全的目的而使用的,因为不能继承final类,人们就不能重载或覆盖它的任何方法。如果允许个类被继承,其被重载或覆盖的方法可能会被改写。保证某个特定的方法在类层次关系上的某层以后只有一个定义,这对于那些安全性非常关键的类是非常必要的。

无论是用于修饰变量、方法还是类,final关键字的目的都是一样的:增强代码的安全性。例4.8 final类说明

final class EndClass extends SupperClass{ .... }

5.4包

包是为」解决设计较大规模的程序而引入的概念。一个大的系统,往往包含多种对象,需要多个类束描述。这些类以逻辑方式组合在一起,形成了所谓的包。

使用 包可提供控制访问的范围。类、方法缺省访问权限时,就只可在它所属的包中被访问,说明为public的才 可在其他包中被访问。

一个Java程序可 以由多个包组成。一个包可由一个或多个源程序文件(.java文件)构成,有多个源程序文件时要分别建立。注意:每个源程序文件中最多只能有一个说明为public的类。

■5.4.1 包说明

■ 5.4.2包的层次结构

■5.4.3 包的使用

程序员成为架构师需要掌握的资料,关注我:简信回复“架构”获取往期Java高级架构资料、源码、笔记、视频。Dubbo、Redis、设计模式、Netty、zookeeper、Spring cloud、分布式、高并发等架构技术。资料获取方式:关注+转发后,私信关键词 【架构】即可获取!

相关文章

  • CTO介绍Java面向对象编程进阶「附图片解析」

    JAVA面向对象进阶编程 5.2抽象类 有时,由于对象高级抽象的需要,希望类只需要说明方法首部,而不需要或不可能说...

  • 面向对象_初识

    目录 面向对象编程介绍 类与对象介绍 私有属性与私有方法 面向对象编程 1. 面向对象编程介绍 面向对象编程:Ob...

  • JavaSE 学习路线图

    面向对象编程基础 JavaFX入门 JDK基础组件的使用 Java函数式编程基础 JavaFX进阶 单元测试与构建...

  • 整理java(1)

    首先java是面向对象编程语言(oop:Object Oriented Programming 面向对象编程)...

  • 07 类和面向对象高级

    引入 在JAVA课程最起始阶段我们介绍过JAVA是一种面向对象的语言,上一张我们也介绍了面向对象这种编程方式,今天...

  • 面向对象编程,类和对象

    面向对象编程 Java是面向对象的一门编程语言,所以余姚使用者具备面向对象编程的思想。 那么,什么是面向对象编程呢...

  • 类与对象(1) - Class、Object

    面向对象编程思想 Java开发是利用 面向对象 的思想实现 面向过程 的开发。 面向对象编程(OOP:Object...

  • 【Java 8】二、Java中的面向对象编程

    2.1 面向对象编程 面向对象编程(Object-Oriented Programming,OOP)在Java中处...

  • JavaScript学习笔记(一)

    Javascript面向对象 1. 面向对象编程介绍 1.1 两大编程思想 面向过程 & 面向对象 1.2 面向过...

  • Python全栈之路系列之面向对象基础

    面向对象基本介绍 Python编程方式: 面向过程编程 面向函数编程 面向对象编程 名称定义: 如果函数没有在类中...

网友评论

      本文标题:CTO介绍Java面向对象编程进阶「附图片解析」

      本文链接:https://www.haomeiwen.com/subject/fomnhqtx.html