Java中类的继承与接口

原创 2015年07月10日 17:32:28

         Java中的另一个特点就是继承,一般而言Java中是不能多继承的,但是对于接口而言,又可以说是多继承的。

        在Java中,一个工程一般都有很多的类,而有的时候类与类之间代码是有重复的,这些重复的代码有时候我们可以向上抽去出来,形成一个新的类,这个新的类就是父类,而原来的类就是子类,子类可以通过extends继承父类,父类中有的东西,子类中也会有(除了父类中私有的变量和函数)。当然继承的时候,子父类中难免会出现同名的变量,这个时候在子类或者主函数中实例化后引用的变量肯定是子类里的变量,父类中的就好像是被子类中的同名变量覆盖了一样,这个时候如果我们想引用父类中的变量的时候我们可以用super关键字,它和this关键字基本上一样,只是this代表的是本类,super代表的是父类而已。子父类中的函数也和变量差不多,当子类中出现和父类中一模一样的函数时,子类对象调用该函数时,会运行子类函数的内容,这就是函数的一个特性:重写。重写功能一般就是用在子类中有和父类一样的函数,但是函数主体中的内容不同,这时候我们不需要定义新的函数编写这个功能,只需要是用覆盖特性就可以了。

        类中还有一个特殊的函数,就是构造函数,构造函数就是和类名相同的函数。在子类进行初始化的时候,父类中的构造函数也会运行,那是因为子类的构造函数中第一行会有一条默认的语句:super(),这就会调用父类总的构造函数,如果函数super(参数...),它就会调用与之对应的构造函数。为什么子类初始化会访问父类的构造函数呢?因为子类在继承父类的时候,子类必须知道父类中有什么样地函数和变量,这样子类才能继承,而在查看父类中的函数和变量的时候,父类中的变量和函数就会进入内存,这时候就会对父类初始化。还有一点需要注意的是,当我们想让子类初始化时访问特定的父类构造函数时,我们手动书写super语句时必须写在子类构造函数的第一行。

        学习继承的时候,我们肯定会接触到关键字final的,final可以修饰类、函数和变量,而且被final修饰的类不可以被继承。继承有一个弊端,就是打破了类的封装性,所以当我们的类或者函数不想被继承的时候,我们可以用final进行限制。final修饰变量的时候就是我们平时常使用的常量。

        我们学习继承的时候,肯定会接触到abstract关键字,这是抽象的意思。当多个类中出现相同功能,但是功能主体不同,这时可以向上进行抽取,只抽取功能定义,而不抽取功能主体,这就是抽象方法,而抽象方法必须放在抽象类中,子类对这样的父类进行继承时,我们必须对其中的抽象方法进行复写,把功能主体实现。按我学习接口的理解,接口就是一种特殊的类,抽象类中不但可以定义抽象方法,还可以定义一般方法,但是接口中的方法全部都是抽象方法,用interface定义接口,而接口与接口之间可以进行多继承。接口中的成员都有固定的修饰符,常量:public static final  方法:public abstract名字(),类继承接口时,不是extends而是implement,这时被称为实现,类中实现借口时,我们必须把接口中的方法实现,如果不实现,那这个类还是抽象类。接口主要就是为了实现类的功能扩展。

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

  • 2015年01月06日 16:10
  • 225KB
  • 下载

Java中继承thread类与实现Runnable接口的区别

Java中线程的创建有两种方式:   1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过实现Runnable接口,实例化Thread类  ...

Java基础之面向对象(三)--继承、抽象类、接口、final修饰符、模版方法模式

[java] view plaincopy /*  将学生和工人的共性描述提取出来,单独进行描述,  只要让学生和工人与单独描述的这个类有关系,就可以了。    ...

Java继承thread类与实现Runnable接口

Java中线程的创建有两种方式: 1.  通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放在其中 2.  通过实现Runnable接口,实例化Thread类 Java ...

java创建多线程的两种方法(继承Thread类/实现Runnable接口)

Thread 创建线程步骤: 通常创建一个线程的步骤如下。 (1)创建一个新的线程类,继承 Thread 类并覆盖 Thread 类的 run()方法。 class ThreadType ...
  • a125138
  • a125138
  • 2012年09月10日 17:12
  • 2823

java 接口,抽象类 继承 归纳

1接口的组成:有静态常量(public,static,final)和抽象方(public,abstract),可以被省略。 2在实现一个结构时,必须重写接口中的抽象方法。在接口中,可以把里面的常量理解...

我们神码小组第一次合作完成的java项目——类的多态继承与接口的使用练习。

通过这次的合作实验,不仅让我们更加深刻的认识到了利用java开发的设计流程,以及在编写程序时的一些注意事项,与此同时更好的学习了面向对象对于类的继承多态与封装和接口的使用这一块的内容,同时也使得我们团...

黑马程序员Java基础第五章-----类的继承 多态 接口

------http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ------- 一.类的特性之二 ...

Java复习笔记+经验总结-03 继承与多态 接口与抽象类

继承: 继承一般指晚辈从父辈那里继承财产, 也可以说是子女拥有父母所给与他们的东西。继承是子类拥有父类的非私有成员, 使用关键字extends来指明父类. [修饰符] class 子类名 extend...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java中类的继承与接口
举报原因:
原因补充:

(最多只允许输入30个字)