java:面向对象的三大特性之一:继承
2017-08-09 22:30
483 查看
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);
}
}
测试类:
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(); } }
相关文章推荐
- Java面向对象三大特性之继承
- Java的面向对象的三大特性 封装 继承 多态
- Java — 面向对象的三大特性(封装、继承、多态)
- 第二十四、Java面向对象三大特性之继承与super关键字
- java 面向对象三大特性之一:继承
- java 面向对象三大特性(封装,继承,多态)以及抽象、接口的介绍
- 深入理解Java面向对象三大特性 封装 继承 多态
- Java之面向对象的三大特性:封装,继承,多态讲解
- java 面向对象三大特性(封装,继承,多态)以及抽象、接口的介绍
- Java面向对象的三大特性 继承
- java语言基础(23)——面向对象三大特性(封装、继承、多态)
- java面向对象的三大特性----封装、继承、多态
- java面向对象三大特性-继承
- Java学习笔记二十一:Java面向对象的三大特性之继承
- java笔记—封装、继承、多态[面向对象的三大特性]
- Java 面向对象的三大特性之一 继承
- java 面向对象三大特性(封装,继承,多态)以及抽象、接口的介绍
- I学霸官方免费教程十四:Java面向对象三大特性之继承
- 智渔课堂官方免费教程十四:Java面向对象三大特性之继承
- 【java学习】面向对象三大特性:封装,继承,多态