Java基础知识4-继承

继承也是面向对象的特征之一,使用extends关键字.

class Person {

}

class Student extends Person {

}

Student类继承Person类,Person类称为父类也称为基类,Student类称为子类也称为派生类.

继承的好处:

1.提高了代码的复用性.
2.让类与类之间产生,给多态提供了前提.

注:Java中支持单继承.不直接支持多继承.

什么时候定义继承

当类与类之间存在所属关系的时候,就定义继承.

子父类中成员变量的特点

先看一个栗子

class Person {
    public int age = 20;
}

class Student extends Person {
    public int age = 30;
    public void show() {
        System.out.println(age + "..." + age);
    }
}

输出结果为30...30
这有就表明当本类的成员变量和局部变量同名用this区分.
当子父类中的成员变量同名用super区分父类.
所以将代码改写成

class Person {
    public int age = 20;
}

class Student extends Person {
    public int age = 30;
    public void show() {
        System.out.println(this.age + "..." + super.age);
    }
}

输出结果就为30...20

this和super

this:代表一个本类对象的引用.
super:代表一个父类的空间.

覆盖

当子父类中出现成员函数一模一样的情况.例如

class Person {
    public int age = 20;
    public void show() {
        System.out.println(this.age);
    }
}

class Student extends Person {
    public int age = 30;
    public void show() {
        System.out.println(this.age);
    }
}

上面的栗子是说方法(函数)名,一模一样而不是方法体.
出现这种情况会运行子类的函数,这种现象称为覆盖操作.这是函数在子父类中的特性.

覆盖注意事项

1.子类方法覆盖父类方法时,子类权限必须要大于或等于父类的权限.
2.静态只能覆盖静态,或被静态覆盖(少见).

函数两个特性

1.重载,在同一个类中.
2.覆盖,在子类中.覆盖也称为重写或覆写.

配图
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一:java概述:1,JDK:Java Development Kit,java的开发和运行环境,java的开发工...
    ZaneInTheSun阅读 7,645评论 0 11
  • 写代码: 1,明确需求。我要做什么? 2,分析思路。我要怎么做?1,2,3。 3,确定步骤。每一个思路部分用到哪些...
    横冲直撞666阅读 2,854评论 0 0
  • 一:java概述:1991 年Sun公司的James Gosling(詹姆斯·高斯林)等人开始开发名称为 Oak ...
    Roronoa_Zoro_阅读 2,144评论 0 1
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 33,694评论 18 399
  • 1、一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?答:可以有多个类,但只能有一个publ...
    岳小川阅读 4,520评论 0 2

友情链接更多精彩内容