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程序设计有所帮助。