Java-继承

一、概述

​ 面向对象编程中,继承是一个比较重要的概念,集成描述事物之间的所属关系,是从已有的类中构建出新的类,已有的类称为父类,新的类被称为子类,子类具有父类的数据属性和方法,并能扩展新的属性和方法(子类不能继承私有

1、继承的使用

  • 关键字:extends

  • 格式:class 子类 extends 父类

  • 例子:Student类集成Person类,public class Student extends Person

2、继承的优点

  • 提高了代码段的复用性,提高了软件开发效率
  • 让类与类之间产生了联系,提供了多态的前提

3、继承的特点:

  • 在Java中,只支持单继承,不支持多继承,一个子类只能有一个父类。

  • 一个父类可以有多个子类

  • 父类的私有属性与方法,子类不会继承。

  • 支持多层继承,一个子类的父类可以去继承另外的父类。

  • 子类和父类都是相对的概念,一个类既可以是某个类的父类,也可以是某个类的子类

4、继承中成员变量的关系

  • 不同变量名子类直接调用
  • 相同变量名,如果子类有,调用子类的变量,如果子类没有,调用父类的。
  • 在子类中,如果要调用父类的成员或方法,使用关键字super

二、代码实例

父类Person


public abstract class Person {
    String name;
    int age;
    int i = 1;
 
    public void setName(String name)
    {
        this.name = name;
    }
    public void setAge(int age)
    {
        this.age = age;
    }
    public String getName()
    {
        return name;
    }
    public int getAge()
    {
        return age;
    }
}

创建子类Student

package myExtends;
 
/**
 * 使用extends关键字创建子类并新定义了number变量,定义i进行继承中成员变量的关系进行测试
 */
public class Student extends Person {
    int i = 2;
    int number;
 
    public void setNumber(int number)
    {
        this.number = number;
    }
    //在子类中能直接使用父类的非私有成员变量
    public void message()
    {
        System.out.println("My name is " + this.name + ",I am " + this.age + " years old," + " my number is " + this.number);
    }
    public void print()
    {
        System.out.println(name);
        System.out.println(super.i);       //在子类中,要调用父类的成员,使用关键字super,不声明使用的是子类的变量 i
    }

}
posted @ 2021-04-12 17:57  废熊  阅读(71)  评论(0)    收藏  举报