java:面向对象的三大特性之一:继承

xiaoxiao2021-02-28  10

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(); } }

转载请注明原文地址: https://www.6miu.com/read-200336.html

最新回复(0)