文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java怎么继承类

2018-09-11 18:28

关注

一、基本知识(推荐:java视频教程)

在Java语言中,实现类的继承使用extends关键字

格式如下:

[public] class SubClass extends SuperClass{
  //类体的定义
}

被继承的类称为父类或超类或基类,而继承得到的类称为子类或派生类。

子类继承父类的状态(属性)和行为(方法),同时也可以有自己的特征。

二、关于继承的注意事项

子类继承父类中非private的成员变量和成员方法,同时,注意构造方法不能被子类继承。

定义类时若缺省extends关键字,则所定义的类为java.lang.Object类的直接子类。

  在Java语言中,一切类都是Object类的直接或间接子类。

Java仅支持单重继承,即一个类至多只有一个直接父类。在Java中通过接口来实现多重继承。

父类中定义的private成员变量和方法不能被子类继承,因此在子类中不能直接使用。我们可以在父类中定义公共的访问方法和修改方法,子类可以通过这些方法来实现访问和修改。

三、举例说明

Person类

package com.baidu.czy;

public class Person {
    //属性
    private String name;
    private int age;
    //方法

    public String getName() {
        return name;
    }

    public int getAge() {
        return age;
    }

    public Person() {
    }

    public Person(String name, int age) {
        this.name = name;
        this.age = age;
    }
    public void sayHello(){
        System.out.println("My name is " + name);
    }
}

Employee类

package com.baidu.czy;

public class Employee extends Person {
    //属性
    private double salary;
    private String name;
    //方法
    public Employee(){

    }

    public Employee(String name, int age,double salary) {
        //调用父类的构造方法
        super(name, age);
        this.salary = salary;
    }
    public double computeSalary(int hours,double rate){
        double salary = hours * rate;
        return this.salary + salary;
    }
    @Override
    public void sayHello(){
        //调用父类中被覆盖的方法
        super.sayHello();
        System.out.println("Hello,I am " + getName());
        System.out.println("I am " + getAge());
        System.out.println("My salary is " + salary);
    }

    
}

EmployeeTest类

package com.baidu.czy.test;

import com.baidu.czy.Employee;

public class EmployeeTest {
    public static void main(String[] args) {
        Employee emp = new Employee("刘明",30,5000);
        System.out.println("姓名= " + emp.getName());
        System.out.println("年龄= " + emp.getAge());
        //调用从父类继承的方法
        emp.sayHello();
        //调用子类中定义的方法
        System.out.println(emp.computeSalary(10,50.0));

    }
}

运行结果:

1.jpg

更多java知识请关注java基础教程栏目。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯