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
}
}

浙公网安备 33010602011771号