`
danlei94
  • 浏览: 9525 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

Java类的继承的总结

阅读更多

Java类的继承的总结

前段时间学习了Java类的继承的一些知识,在这里进行回顾并总结一下。

 

上一篇博文中,我分析了类和对象的关系,类的继承其实也很简单。

 

我们要先知道,一个类的方法和属性,访问类型有publicprotectedprivate和默认类型(前面不加任何关键字)

 

【存在类的继承的理由】

无论是生活还是程序表达中,我们都会出现一方是在另一方的基础上演变过来的情形。比如大学生也是学生,猫也是动物。小明是大学生,那他肯定是学生。两者之间都会有一种包含和继承关系。

因此Java中会用到 关键字 extends 去表示 继承这种关系。

【类的继承的一些关键】

关键1:子类继承父类全部的方法和属性,父类是基类,子类也叫派生类。

        注意:“全部”包括私有的、公有的、受保护的和默认的所有类型。

关键2JAVA中类的继承只能是单继承,即子类只能继承一个父类。

关键3:子类去调用父类的方法时,

注意:有两种情况

①如果父类和子类都在同一个包中,子类能调用publicprotected和默认的方法,不能调用private方法

②如果父类和子类在不同包中,子类只能调用publicprotected的方法,不能调用private和默认的方法

 

也就是说,任何时候子类都不能去调用父类的private方法,任何时候子类都可以去调用publicprotected方法,默认方法则根据子类和父类位置关系来确定。

 

【自动转型】    

我们可以看如下例子:

 

 

public class Test1 {

 

/**

 * @param 创建st对象

 */

public static void main(String[] args) {

Student1 st=new UStudent1();

st.Stuprint();

 

}

 

}

<!--EndFragment-->

 

UStudent1是继承Student1的子类

 

我在主函数中创建了一个st对象。

Student1 st=new UStudent1();

st本来定义的是Student1类型的,但是却指向UStudent1的类开辟的空间。

这种写法是允许的,并且是自动转化的。

 

总结来说:自动转型是指子类对象的类型定义为父类类型,也就是子类对象的类型可以自动转换为父类类型。

 

注意:创建为以上这种自动转型的情况之后(Student1 st=new UStudent1();

)对象调用方法的时候一般不能调用子类特有的方法

  

【接口】

编程中,我们还可能遇到一种不是类,但是又和类有一点类似的类型,它叫接口。

接口的关键字为interface

 

接口其实就可以看成是在C++中我们学习的抽象类,里面也只能定义纯虚函数。

也就是说,接口中定义的方法,没有确定的实现体。(即每个方法里没有代码)

          接口中定义的属性,也必须是常量。(不能使变量)

类似的,接口不能直接用来创建对象,一定要先去写一个实现接口的子类!实现接口的这个子类必须要去重写接口中的函数。

public interface Student {

 

public void study(int hour);

}

 

<!--EndFragment--> 

上图中,Student就是一个接口,interface就是接口的关键字。接口中声明的函数体也没有实现。

public class Ustudent implements Student {

public void study(int hour)

{

System.out.println("我学习了"+hour+"个小时");

}

}

 

<!--EndFragment--> 

Ustudent 类就是实现Student接口的子类,它必须要去重写接口中定义的方法。

继承接口的关键字是implements

 

【类和接口的比较】

1.类的关键字是class,接口的关键字是interface

2.类可以直接创建对象,而接口不能直接创建对象。

3.继承类的关键字是extends,继承(实现)接口的关键字是implements

4.类中每个函数体必须有具体的实现,而接口定义的每个函数体一定不能有实现。

5.类中对属性没有限制,常量变量均可,接口不能定义变量,只能定义常量。

6.一个子类只能继承一个父类(单继承),一个接口但是可以继承多个接口。(一个类可以也可以同时继承一个类和多个接口)

 

 

小结:我从为什么要有类的继承开始说起,先后总结了类的继承的一些关键点、自动转型的特点、接口的特点以及接口和类的比较。

小女纸觉得自己对类和对象还有继承是比较清楚的,但是难免有疏忽的地方,如果有什么错误的地方还望大家指出来哟~

<!--EndFragment-->
分享到:
评论

相关推荐

    java的继承总结.doc

    "Java继承总结" Java中的继承是面向对象三大特性之一,在知识点上存在许多重要的细节。下面将对Java继承的基本概念、语法格式、继承关系、方法重写、自动转型等进行详细的总结和分析。 一、继承的基本概念 继承是...

    Java--类的继承

    在Java编程语言中,类的继承是面向对象编程的一个核心概念,它允许我们创建新的类(子类)基于已存在的类(父类或超类)。继承提供了代码的复用性,使得子类可以共享父类的属性和方法,同时还可以添加自己的特定功能...

    Java实验报告——类的继承、多态的应用

    总结来说,这个实验报告通过实际编程练习,帮助我们巩固了Java中抽象类和抽象方法的定义,以及类的继承和多态性这两个核心概念。通过设计和实现学生管理类,我们可以更深入地理解这些概念在实际问题解决中的应用。

    JAVA中的继承学习总结

    ### JAVA中的继承学习总结 #### 一、Java中的继承概念 继承是面向对象编程(OOP)的一个核心概念,它使得我们可以定义一个类继承另一个类的字段和方法。这样做的好处是可以减少代码冗余,提高代码复用性。在Java中,...

    Java方法继承、方法重载、方法覆盖总结

    ### Java方法继承、方法重载、方法覆盖总结 在Java编程语言中,方法继承、方法重载、方法覆盖是三个非常重要的概念。它们之间既有关联又有区别,掌握这些概念对于深入理解面向对象编程有着至关重要的作用。 #### ...

    java基础继承封装多态

    本资源摘要信息将对 Java 基础知识点进行总结,涵盖继承、封装、多态等概念,并对面向对象的设计、数据库设计模式等进行讲解。 继承 继承是 Java 中的一种机制,允许一个类继承另一个类的属性和方法。继承的语法是...

    Java内部类总结

    ### Java内部类总结 在Java编程语言中,内部类是一个重要的概念,它允许开发者在一个类的内部定义另一个类。这种特性极大地增强了代码的封装性和复用性,同时也为解决特定问题提供了灵活的方法。本文将围绕Java内部...

    java知识体系总结

    Java知识体系总结 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现已被Oracle公司收购)于1995年推出。它以其“一次编写,到处运行”的特性闻名,适用于开发跨平台的应用程序,包括桌面应用、企业...

    第五章_Java类的继承、包及接口

    总结起来,Java的类继承、包和接口是面向对象编程的关键概念,它们帮助开发者构建可维护、可扩展的代码结构。通过类的继承,可以创建层次化的类结构,共享和复用代码;包提供了命名管理和访问控制;接口则定义了类...

    封装继承多态总结

    封装继承多态总结

    史上最全的Java核心技术总结.pdf

    Java面向对象编程包括类、对象、继承、多态、封装、抽象等概念。Java异常处理包括try-catch语句、throw关键字、finally块等。Java多线程编程包括线程的生命周期、线程的状态转换、线程的同步和死锁等。 三、Java...

    Java 类的继承

    在Java编程语言中,类的继承是面向对象...总结起来,Java类的继承提供了代码复用、结构扩展以及多态性等优势,是构建复杂系统的关键工具。通过熟练掌握这些概念,开发者可以构建出更加模块化、易于维护的Java应用程序。

    Java继承_抽象类与接口的应用.

    1.继承及继承实例 2.方法重写(Overwrite) 3.super关键字 4.方法重载(Overload) 5.final修饰符 6.abstract修饰符 7.抽象类 8.接口 9.接口和抽象类对比 10.接口和抽象类使用场合实例 11.总结

    java项目继承.zip

    总结起来,这个Java项目强调了两个核心概念:一是通过"zg-parent"进行依赖和构建的统一管理,保证了项目组件间的协同工作;二是利用"zg-common"来封装和重用通用功能,提高了代码的可维护性和可读性。这样的设计对于...

    Java设计一个银行帐户类(继承与多态)

    在Java编程中,设计一个银行账户类是学习面向对象编程的一个常见练习,它涉及到类的定义、对象的创建以及继承和多态的概念。在这个实验中,我们创建了一个名为`BankCount`的类来代表银行账户,并包含了一系列与账户...

    java继承与多态

    ### Java继承与多态知识点详解 #### 一、引言 在面向对象编程语言中,继承和多态是非常重要的概念。它们提供了强大的机制来管理代码的复杂性,并且能够有效地复用现有代码。本文将详细介绍Java中的继承和多态概念...

    java内部类总结(含概念和实例)

    Java 内部类总结 Java 内部类是指在一个外部类的内部再定义一个类。内部类作为外部类的一个成员,并且依附于外部类而存在的。内部类可为静态,可用 protected 和 private 修饰(而外部类只能使用 public 和缺省的包...

    JAVA 继承基本类、抽象类、接口区别与联系

    ### JAVA继承基本类、抽象类、接口的区别与联系 #### 一、概述 在Java语言中,类(Class)的设计是面向对象编程的核心之一。Java提供了三种方式来扩展类的功能:基本类、抽象类和接口。这三者之间既有相似之处,也...

    java实验三 类的继承--圆.rar

    实验报告可能会涵盖以下内容:实验目的(理解并掌握类的继承)、实验步骤(定义`Shape`和`Circle`类,实现相关方法)、实验结果(展示代码运行输出,如圆形面积的计算)以及实验总结(类继承的概念及其在实际编程中...

    JAVA内部类总结

    ### JAVA内部类总结 在Java编程语言中,内部类(Inner Classes)是一种非常重要的特性,它允许我们在一个类的内部定义另一个类。这种结构不仅能够提高代码的组织性,还能帮助我们更好地处理类与类之间的关系。根据...

Global site tag (gtag.js) - Google Analytics