java基础-继承

一、概述

1.什么是继承

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

2.使用方法

使用 extends 关键字 ==> class 子类 extends 父类 ()

3.特点

  1. 只支持单继承,不支持多继承,一个子类只能有一个直接父类
  2. 父类私有成员,子类不能继承,因为根本看不到
  3. 一个父类可以有多个子类
  4. 支持多层继承,一个类的父类可以再去继承另外的父类
  5. 子类和父类是相对的概念,一个类是某个类父类的同时,也可以是另一个类的子类

4.变量调用规则

  1. 不同变量名子类直接调用
  2. 相同变量名调用时,如果子类有,就不调用父类的变量,如果子类没有,父类有,则调用父类的
  3. 在子类中,要调用父类的成员,使用关键字 super,调用父类方法也是一样,使用super关键字

二、代码示例

1.Person.java父类

package com.wangji.test;;
 
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;
    }
}

2.创建student.java子类


package com.wangji.test;;
 
/**
 * 使用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
    }
}

3.创建main函数进行测试

package com.wangji.test;

public class ExtendsTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Student stu = new Student();
        stu.setAge(18);
        stu.setName("java");
        stu.setNumber(32);
        stu.message();
        stu.print();
        System.out.println(stu.i);      //子类有则调用子类的,子类没有则调用父类的

	}

}

运行结果如下:

My name is java,I am 18 years old, my number is 32
java
1
2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值