java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > java面向对象继承

java面向对象的三大特性之一继承用法实例分析

作者:xuehyunyu

这篇文章主要介绍了java面向对象的三大特性之一继承用法,结合实例形式分析了java面向对象程序设计中继承的基本原理与具体使用方法,需要的朋友可以参考下

本文实例讲述了java面向对象的三大特性之一继承用法。分享给大家供大家参考,具体如下:

Java用extends关键字表示这种继承关系。

Java的继承只允许单继承,即一个类只能有一个父类。

代码:

工程师类:

package com.jredu.oopch02;
/**
 * 工程师类
 * @author Administrator
 *
 */
public class Engineer {
    //共有的属性和方法
    //子类可以继承
    protected int id;
    protected String name;
    protected String enterTime;
    public Engineer(int id, String name, String enterTime) {
        super();
        this.id = id;
        this.name = name;
        this.enterTime = enterTime;
    }
    public void showInfo() {
        System.out.println("编号:"+id+",姓名:"+name+",入职时间:"+enterTime);
    }
}

软件工程师类:

package com.jredu.oopch02;
/**
 * 软件工程师 继承工程师类
 * @author Administrator
 *
 */
public class SoftEnigneer extends Engineer {
    //独有的属性和方法
    private String type;//语言类型
    public SoftEnigneer(int id, String name, String entertime,String type) {
        super(id, name, entertime);
        // TODO Auto-generated constructor stub
        this.type=type;
    }
    public void coding(){
        System.out.println("正在编程");
    }
    @Override
    public void showInfo() {
        // TODO Auto-generated method stub
        super.showInfo();
        System.out.println("语言类型是"+type);
    }
}

测试工程师类:

package com.jredu.oopch02;
/**
 * 测试工程师继承工程师类
 * @author Administrator
 *
 */
public class TestEngineer extends Engineer {
    private String lever;
    public TestEngineer(int id, String name, String entertime,String lever) {
        super(id, name, entertime);
        // TODO Auto-generated constructor stub
        this.lever = lever;
    }
    public void test(){
        System.out.println("正在测试");
    }
    /**
     * 方法重写
     * 方法重写的默认行为是:调用父类方法内容
     * 方法重写:可以在子类中修改父类的方法内容
     */
    @Override  //@Override:是重写。注解标识是@
    public void showInfo() {
        // TODO Auto-generated method stub
        super.showInfo();//调用父类的方法
        System.out.println(",等级:"+lever);
    }
}

测试类:

package com.jredu.oopch02;
public class Teste {
    public static void main(String[] args) {
        //调用父类中定义的方法结果:
        //1、如果子类没有重写父类的方法:调用的就是父类的实现
        //2、如果子类重写了父类的方法,调用的就是子类中的实现
        SoftEnigneer soft = new SoftEnigneer(1, "张三", "2015-03-06", "java");
        soft.showInfo();
        soft.coding();
        TestEngineer test = new TestEngineer(2, "李四", "2016-03-06", "测试");
        test.showInfo();
        test.test();
    }
}

运行结果:

编号:1,姓名:张三,入职时间:2015-03-06
语言类型是java
正在编程
编号:2,姓名:李四,入职时间:2016-03-06
,等级:测试
正在测试

更多java相关内容感兴趣的读者可查看本站专题:《Java面向对象程序设计入门与进阶教程》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总

希望本文所述对大家java程序设计有所帮助。

您可能感兴趣的文章:
阅读全文