`
hwfantasy
  • 浏览: 21567 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Java关于继承,接口的小文章

阅读更多
[size=medium][/size]
在蓝杰的第三次课,第一篇文章。
在这三次课程中主要学习了Java的基础入门,类和对象,登陆界面开放和今天的类的继承。
以下是本次课程的一些内容:
1.为什么需要继承?如何继承?继承到了什么?
  因为如果我们已经定义了一个类,但是我之后我们又要用到一个其中具体方法和属性与这个类不尽相同的类,那么我们可能需要再次定义一个类。而在此过程中我们就可能必须将我们已经写过的代码再写一次,这是一种无用功,而且也会占用不必要的内存空间。所以我可以通过继承来避免这些问题。
  通过关键字extends可以继承,具体如下:
  public class A extends B{
  }
  通过继承子类得到了父类的属性和方法。

2.自动转型
  如上面的A继承了B,那么当我们定义A的对象时,可以使用如下语句:
B a = new A();
  如果这样定义A的对象a,那么a具有以下特性:
  1.a只能调用在其父类B中定义过的方法
  2.如果在A和B中一个方法都被定义,但是方法体不同,那么当你使用这个方法时将会调用子类的方法

3.方法的重写、重载,区别
  方法的重写是指 一个类继承了父类,并在自己的类体中将方法的方法体进行了改变,但是方法的定义不变(包括方法的名称,返回值和形参)
  方法的重载是指在一个类中多次使用一个方法名,但是它们的返回值,形参和方法体都不相同

4.多态
  相同类型的对象调用相同的方法的时候,由于继承,重写以及重载的机制,得到的结果不一定相同

5.如何定义接口
  通过interface语句可以定义接口,具体程序如下:
public interface A{
}

6.接口的特点
  接口是高度抽象的产物,他没有构造器,其中的方法也没有方法体,所有它也无法创建对象,而且接口的方法都是public型的,属性都是常量。它仅仅是作为类或者其他接口的模板而出现的。

7.如何实现接口
  接口的实现相当于类对它的一种继承,通过关键字implements可以实现,具体如下:
public class A implements B{
}
  而且在此类中接口的方法必须得到重写。
PS:
一个类只能继承一个父类
class A;
class B extends A;

一个类可以实现多个接口
interface C;
interface D;
class E implements C,D;

接口可以继承多个接口
interface F extends C,D;
分享到:
评论

相关推荐

    Java高手关于java的文章合集

    在这个“Java高手关于Java的文章合集”中,我们可以期待深入探讨Java和J2EE的相关技术、最佳实践以及实用技巧。 1. **Java基础知识**:文章可能涵盖Java语法基础,包括变量、数据类型、控制流、类与对象、继承、...

    多态继承接口结构例子

    在C#编程语言中,多态(Polymorphism)、继承(Inheritance)和接口(Interface)是面向对象编程的三大核心特性。结构(Struct)则是C#中的一个基本类型,与类(Class)有所不同。本篇文章将深入探讨这些概念,并...

    学习Java接口的例题

    本篇文章将通过具体的例题深入探讨接口的使用,帮助你更好地理解和应用这一核心特性。 接口在Java中是完全抽象的,它只包含常量声明和抽象方法。它们不具有构造函数,不能实例化,但可以被类实现。接口的目的是定义...

    Java 接口.pdf Java面向对象设计 - Java接口 什么是接口? Java中的接口定义了一个引用类型来创建抽象概念

    - **多继承**:在Java中,由于类只支持单一继承,因此使用接口可以实现多重继承的效果。一个类可以实现多个接口。 - **默认方法与静态方法**:自Java 8起,接口中可以包含默认方法(拥有默认实现的方法)和静态方法...

    为什么说Java中继承是有害的

    大多数好的设计者象躲避瘟疫一样来避免使用实现继承(extends 关系)。实际上80%的代码应该完全用interfaces写,而...“JAVA设计模式”一书详细阐述了怎样用接口继承代替实现继承。这篇文章描述设计者为什么会这么作。

    java定时器定时调用任务

    而`java.util.TimerTask`是实现了Runnable接口的抽象类,它是所有定时任务的基础,你需要继承它并重写`run()`方法来定义自己的任务逻辑。 创建一个定时任务的基本步骤如下: 1. 创建`TimerTask`子类:首先,你需要...

    java技术文章集锦

    Java技术文章集锦是一个丰富的资源库,包含了大量关于Java编程的知识点,对于正在学习或已经从事Java开发的人员来说,这是一个宝贵的参考资料。这个压缩包文件中的每一篇文章都可能涵盖了一个或多个Java技术主题,让...

    Java 知识文章

    4. **继承**:Java支持单继承,一个类只能直接继承一个父类,但可以实现多个接口。继承提供了代码重用和多态性。 5. **多态**:多态允许子类对象替换父类对象,父类引用指向子类对象,调用子类覆盖父类的方法,实现...

    JAVA技术文章500篇

    "JAVA技术文章500篇"这个压缩包包含了大量关于Java技术的深度文章和教程,覆盖了从基础到高级的各个层面,特别是针对J2SE(Java Standard Edition)和J2EE(Java Enterprise Edition)两大核心领域。 J2SE是Java的...

    JAVA高级:根据接口解耦示例

    在Java编程中,接口是实现软件解耦的关键工具。接口定义了一组方法,但不包含具体实现,使得类可以通过实现接口来遵循特定的行为规范。这种设计模式有助于提高代码的灵活性,可维护性和可扩展性。在本示例中,我们将...

    Java技术相关文章

    理解类的构造器、访问修饰符、继承和接口是学习Java的基础。 2. **Java集合框架** - **ArrayList与LinkedList**:两种常见的动态数组实现,ArrayList适合随机访问,LinkedList适合插入和删除。 - **HashMap与...

    java初学者必看的文章

    - **线程创建**:可以通过继承Thread类或实现Runnable接口来创建线程。 - **线程同步**:使用synchronized关键字或其他并发工具类如ReentrantLock来实现线程间的同步,避免数据竞争。 - **线程间通信**:利用wait()...

    Java学习材料(499篇文章).

    这个压缩包“Java学习材料(499篇文章)”显然包含了大量关于Java编程的学习资源,覆盖了从基础到高级的各种主题。这四百九十九篇文章可能包括了Java语法、面向对象编程概念、异常处理、集合框架、多线程、输入/输出(I...

    java 面向对象 继承 PDF格式

    本篇文章将深入探讨Java中的继承这一关键概念。 首先,面向对象的继承是建立在类的基础上的。在Java中,类是一种抽象的数据类型,它定义了一组属性(数据成员)和行为(方法)。继承允许我们创建一个新类(子类或...

    Java学习材料(499篇文章)

    这份"Java学习材料(499篇文章)"的压缩包显然包含了大量关于Java编程的知识点,旨在帮助开发者提升技能,掌握解决实际问题的方法。下面将详细讨论其中可能涵盖的重要主题。 1. **基础语法**: 任何Java学习资料的起点...

    Java学习资料499篇文章

    包括类、对象、封装、继承、多态等概念,以及接口和抽象类的使用。理解类与对象的关系,如何设计和实现类,以及如何利用多态来实现代码的灵活性,都是Java开发者必备的技能。 此外,异常处理也是Java开发中不可忽视...

    JAVA的文章

    "JAVA的文章"这一主题涵盖了众多关于Java的基础知识,对于初学者来说是非常有价值的资源。 在Java入门学习中,首先要理解其基本概念。Java基于C++,但简化了许多复杂的特性,如指针和内存管理。Java采用自动垃圾...

    JAVA文章精选542个(txt) 免费分享

    这篇文章可能包含Java编程的简单示例,用于解释基本概念,如类、对象、继承、多态等,对于初学者来说是非常有用的参考资料。 5. **转载--微软98年关于MTS和EJB的比较说明文件.其实Sun也有类似的对比文件,我忘记在...

    Java内部类继承问题的分析.pdf

    针对这些问题,文章提出了一种检测Java内部类继承问题的方法,旨在提前发现并解决这些问题。这种方法可能包括对继承结构进行深度检查,识别出深度过深的继承树,以及寻找可能的循环继承关系。同时,文章还提供了相应...

    java蔡学镛的文章

    蔡学镛,又被称为Chia Heng Yung,是一位知名的Java技术专家,他撰写了多篇关于Java技术的文章,这些文章可能涵盖了Java的基础知识、进阶特性以及最佳实践。他的文章对于Java开发者来说是宝贵的资源,可以帮助他们...

Global site tag (gtag.js) - Google Analytics