博客
关于我
java基础--03(复用类)
阅读量:714 次
发布时间:2019-03-17

本文共 1639 字,大约阅读时间需要 5 分钟。

Java对象关系的深度探索

在 Java编程的世界中,继承和抽象类是构建复杂对象关系的基石。本文将探讨这些核心概念的实现细节,以及它们在实际开发中的应用。


1. 继承

在 Java中,类之间可以通过 继承 关系建立层次结构。这种关系意味着一个新类(导出类)可以利用基类的属性和功能,扩展其特性。

默认访问控制符

Java默认的访问控制符是 包访问权限。因此,导出类只能访问基类的 public 成员。如果希望确保导出类无法访问基类的其他成员,需为基类的成员加上 private 修饰符。

super 关键字

导出类构造器默认会调用基类的无参构造器(默认构造器)。若基类没有默认构造器或需使用有参构造器,可以使用 super 关键字在导出类构造器的第一行调ably 基类构造器。

方法重载

Java允许方法重载,即在基类中定义的一个方法在导出类中可以有不同的名铭。这种情况下,导出类的方法不会屏蔽基类中的任何方法。

组合与继承的选择

组合 是将现有类的对象嵌入到新的类中,表现为新类内部含有该对象,用户盯nested对象的接口。而 继承 则表示类和基类共享同一基底,基类的方法和属性被导出类继承。

在选择组合还是继承时,可以问问自己一个问题:是否有需要向上转型的情况?如果有,则采用继承;否则,则选择组合。


2. 抽象类

抽象类是用于定义一组共性 MethodInfo 特点的通用模板。由于其定义的方法无法实现,通常可以通过继承来提供一个不具体的基底。

核心特点

  • 抽象方法:定义了方法名但不提供实现。
  • 不可实例化:抽象类不能被创建对象。
  • 抽象类的扩展:仅需在继承自抽象类的子类中实现抽嘬方法后,才能实例化子类。

使用场景

  • 抽象类的主要用途在于让一组共性功能从基类中提取,均匀化各子类的实现方式。

细节说明

  • 抽象类可以定义非抽象方法:并非所有的方法都必须是抽象的,子类可以重用基类中的方法。

3. 接口

接口式定义了一组规则或功能,允许多个实现类通过实现其中的方法与接口契合。其特别之处在于接口可以被多继承,但实现上需要明确指定。

接口特性

  • 全局常量:接口中的常量具有一定的安全性,是隐式的 staticfinal 的组合。
  • 策略模式:允许根据参数选择不同的处理逻辑。
  • 适配器模式:用于处理不兼容的接口,通过适配器实现功能一致性。

示例

public interface Processor {    String name();      Object process(Object o);}public class Upcase extends StringProcessor {    public String process(String input) {        return input.toUpperCase();    }}

4. Final 关键字

final 是用于定义不可改变或不可变的条件。它适用于数据和方法,确保它们在运行时保持恒定。

数据总结

  • final 数据:只能为基本类型且必须赋初值。
  • static final 数据:只有一份常量,初始化时不可被修改。
  • final 方法:预防重写,只有基类的方法可以是 final。

3个问题解答

  • 抽象类是否需要实现接口方法?

    • 。抽象类属于继承关系,无需实现接口方法。但若直接继承一个接口,则需实现其所有抽象方法。
  • 日期处理类在 Java 的哪个包中?

    • Java 提供了 java.util 包中的 Date 类,用于处理日期和时间。
  • Hibernate 中的一对多双向关联中的 <set> 元素的 inverse 属性.

    • inverse 属性用于指定待关联的方向,对应的 <one-to-many> 关系用于从一边到多边关系的映射。当需要从多边到一边时,需在 <set> 中指定 inverse="true"

  • 通过以上知识,编程时可以更灵活地设计复杂的对象关系,从而构建高效、可维护的应用程序。

    转载地址:http://zehhz.baihongyu.com/

    你可能感兴趣的文章
    mysql5.6 TIME,DATETIME,TIMESTAMP
    查看>>
    mysql5.6.21重置数据库的root密码
    查看>>
    Mysql5.6主从复制-基于binlog
    查看>>
    MySQL5.6忘记root密码(win平台)
    查看>>
    MySQL5.6的Linux安装shell脚本之二进制安装(一)
    查看>>
    MySQL5.6的zip包安装教程
    查看>>
    mysql5.7 for windows_MySQL 5.7 for Windows 解压缩版配置安装
    查看>>
    Webpack 基本环境搭建
    查看>>
    mysql5.7 安装版 表不能输入汉字解决方案
    查看>>
    MySQL5.7.18主从复制搭建(一主一从)
    查看>>
    MySQL5.7.19-win64安装启动
    查看>>
    mysql5.7.19安装图解_mysql5.7.19 winx64解压缩版安装配置教程
    查看>>
    MySQL5.7.37windows解压版的安装使用
    查看>>
    mysql5.7免费下载地址
    查看>>
    mysql5.7命令总结
    查看>>
    mysql5.7安装
    查看>>
    mysql5.7性能调优my.ini
    查看>>
    MySQL5.7新增Performance Schema表
    查看>>
    Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
    查看>>
    Webpack 之 basic chunk graph
    查看>>