`
12616383
  • 浏览: 51701 次
  • 性别: Icon_minigender_1
  • 来自: 待定
社区版块
存档分类
最新评论

core---java 之继承篇(持续更新)

阅读更多

1 类,超类,子类

     子类是由超类继承而来,他具有超类的域,方法。子类与超类的关系是“is-a”。

      

 超类:

   Employee 类是一个超类,他具有通用的特性,name,hireday,salary ,作为每个员工都具有的共同属性。在 实例化  的时候通过构造器传递具体的参数,由于Employee 的域都定义为private ,所以如果不是构造器初始化域的话,要提供相应的set方法,对域赋值。(类设计的技巧:一定要将数据设计为私有的,一定要对数据进行初始化)

 

/**
  @员工
  @author qinpeng
  @since 
 */
public class Employee {
	
	//姓名
	private String name;
	//生日
	private String hireday;
	//工资
	private String salary;
	
	public Employee(String name,String hireday,String salary){
		this.name = name;
		this.hireday = hireday;
		this.salary = salary;
	}
	
	
	/**
	 * 吃饭方法
	 */
	public void eat(){
		System.out.println("everyone must eat food everyday");
	}
	
	/**
	 * 睡觉方法
	 */
	public void sleep(){
		System.out.println("people must sleep");
	}

	/**
	 * 获取姓名
	 * @return String
	 */
	public String getHireday() {
		return hireday;
	}

	/**
	 * 获取姓名
	 * @return String
	 */
	public String getName() {
		return name;
	}

	public String getSalary() {
		return salary;
	}

	public void setName(String name) {
		this.name = name;
	}

	public void setHireday(String hireday) {
		this.hireday = hireday;
	}

	public void setSalary(String salary) {
		this.salary = salary;
	}
	
	
}

 

  

子类:

   Manager 是继承Employee.他可以调用超类的方法。

  超类对子类是“has - a”关系

  

/**
 @Title Manager.java
 @description  manager class
 @author qinpeng
 @date 2009-7-22 下午10:18:54
 */

public class Manager extends Employee {
	
	public static void main(String[] args){
		
		Manager man= new Manager("manager","1985",2000);
	//	System.out.println("man is a manager"+man.getBonus()+man.getHireday()+man.getSalary());
		man.setBous(500);
		//超类的方法
		man.getHireday();
		man.getName();
		man.getSalary();
		//自己的方法
		man.getBonus();
		System.out.println("经理工资"+man.getSalary());
		
		
		
		//is-a 的关系,实例化Employee.
		//虽然是通过new Manager 来实例化 Employee,但是,emp还是一个Employee类型的
		//emp 不能调用 Manager 的方法 和 域
		Employee emp = new Manager("employee","1985",2000);

		emp.getHireday();
		emp.getName();
		emp.getSalary();
		
		System.out.println("普通员工工资"+emp.getSalary());
	}
	
	private double bonus;
	
	
	/**
	 * 父类构造器
	 * @param name
	 * @param hireday
	 */
	public Manager(String name, String hireday,double salary) {
		super(name, hireday, salary);
		// TODO Auto-generated constructor stub
	}
	
	//子类声明的构造器必须是其超类已经定义过的构造器,或者显形的调用超类的构造器。否则子类不能定义。
	
	//Employee 没有对应的构造器
	
	public Manager(String name, String hireday,double salary,String bonus) {
		super(name, hireday, salary);
		// TODO Auto-generated constructor stub
	}
	
	
//	public Manager(){
//	}
	
	//超类中的 salary 定义为私有的,所以只能通过 
	//super.getSalary() 获取值
	public double getSalary() {
		return super.getSalary()+bonus;
	}
	
	public void setBous(double b){
		bonus = b;
	}

	public double getBonus() {
		return bonus;
	}

}
分享到:
评论

相关推荐

    shopping--for--java-core.rar_shopping_商城

    在信息技术日新月异的今天,电子商务已经渗透到我们生活的方方面面,而作为支撑电商网站后台运作的核心技术之一,Java以其稳定、高效、跨平台等特性,成为开发网上商城系统的首选语言。"shopping--for--java-core....

    java\CoreJava笔记\CoreJAVA_day01

    - 持续学习:Java技术不断更新,需要保持学习习惯,理解新特性和框架。 - 实践编程:动手实践是学习的关键,通过看懂代码、模仿编写、独立实现来提升技能。 - 解决问题:遇到问题及时解决,避免积累,提高学习...

    mybatis-generator-core-1.3.2-sources

    7. **持续集成**:为了保持代码的自动更新,可以将Mybatis Generator集成到构建工具(如Maven或Gradle)中,使其在每次构建时自动运行,确保代码与数据库模型始终保持同步。 总的来说,`mybatis-generator-core-...

    corejava7源码

    《Core Java 7源码分析》 在Java编程领域,Core Java系列书籍是广大开发者学习和进阶的重要参考资料。Core Java 7,即《Core Java Volume I - Fundamentals》的第七版,它深入探讨了Java语言的核心特性,包括面向...

    corejava练习题目(1)

    在"CoreJava练习题目(1)"中,这一部分的习题可能要求学习者编写简单的类和对象,理解封装、继承和多态性,并能够应用这些概念解决实际问题。例如,通过设计一个宠物类并创建多个实例,学习者可以更加直观地理解面向...

    corejava基础知识

    《CoreJava基础知识详解》 CoreJava,作为Java编程的基础,是每一位Java开发者必须掌握的核心技能。...无论你是初学者还是经验丰富的开发者,持续深化CoreJava的学习都是提升编程技能的有效途径。

    httpcore-ab-4.4-alpha1.zip

    6. **选择器继承**:一个类可以选择继承另一个类的所有样式,避免重复代码。 结合HTTPCore-ab-4.4-alpha1和SASS,我们可以构建高性能的Web应用,利用HTTPCore的强大功能进行后端通信,同时借助SASS提升前端样式表的...

    资源专区-课程设计-编程作业-Swift-基于JAVA的私人牙科诊所管理系统

    尽管它不是Java,但Swift在面向对象编程和现代化语法方面与Java有许多相似之处,使其成为构建复杂系统的理想选择。 1. **面向对象编程**:Swift 支持面向对象编程(OOP)概念,如类、对象、继承、封装和多态性。在...

    COREJAVA学习代码

    在Java编程领域,Core Java是基础且至关重要的部分,它涵盖了Java语言的核心概念和技术。"COREJAVA学习代码"这个主题旨在帮助开发者深入理解和掌握Java...持续练习和项目实战将有助于你成为一位精通Core Java的开发者。

    struts2-core-2[1].0.11.zip_struts2 2.0.11.2_struts2 core

    Struts2是一个非常著名的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,极大地简化了Java Web应用程序的开发。标题中的"struts2-core-2[1].0.11.zip"指的是Struts2的核心库版本2.0.11.2,这是一个...

    SUN 公司CoreJava培训教材

    《SUN公司CoreJava培训教材》是一份详尽的Java编程学习资料,涵盖了从基础到高级的多个主题,旨在帮助学员全面理解并掌握Java核心技术。以下是根据提供的内容展开的Java核心知识点详解: 1. **Java编程语言的发展...

    Android代码-Java-Interview

    在Android开发领域,Java语言是主要的编程工具之一。`Java Core Sprout`是一个专注于Java核心概念的知识库,旨在帮助开发者巩固和深化Java基础。这个项目涵盖了从基本语法到高级特性的广泛内容,对于Android面试准备...

    2020最新-java就业班全套超强完整版.txt

    因此,本篇内容将基于【标题】、【描述】以及【标签】来构建相关的Java就业知识点。 ### Java编程基础 1. **Java语言特性**:Java是一种面向对象的编程语言,具有平台无关性、健壮性、安全性等特点。 2. **开发...

    CORE JAVA 翻译者 陈昊鹏老师的JAVA 系统开发基础PPT

    【标题】"CORE JAVA 翻译者 陈昊鹏老师的JAVA 系统开发基础PPT" 提供了一个深入学习Java编程语言的基础教程,由知名翻译者和教育家陈昊鹏老师亲自编撰。这个PPT课程涵盖了Java的核心概念,是系统开发初学者和进阶者...

    Core Java应用程序设计教程2

    5. **持续学习:** Java语言和技术不断更新发展,保持学习的态度,跟踪最新的技术和框架。 #### 四、总结 《Core Java应用程序设计教程2》是一本非常适合初学者和有一定基础的开发者学习的书籍。它不仅覆盖了Java...

    CoreJava学习笔记.doc

    《CoreJava学习笔记》 Java,作为一种广泛使用的高级编程语言,以其独特的特性和优势深受开发者喜爱。本学习笔记旨在深入浅出地介绍Java的核心概念,帮助初学者快速掌握这一强大的工具。 1. Java特点 Java语法...

    核心java(core java)英文版1,2

    《核心Java(Core Java)》是Java编程领域中极具权威性的教材,主要针对初学者和有一定经验的开发者。这套教程分为两卷,分别是卷I和卷II,它们深入浅出地介绍了Java语言的基础和高级特性,是理解Java编程精髓的重要...

    Core-Java

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。"Core-Java"通常指的是Java的基础部分,包括语法、数据类型、控制结构、面向对象特性、异常处理、集合框架等核心概念。本篇文章将深入...

    coreJava-开源

    开源,作为一种开放源代码、鼓励协作的开发模式,使得Core Java的相关知识得以广泛传播和持续改进。本文将围绕“coreJava-开源”这一主题,通过分析“classloaderDemo.jar”这个压缩包中的文件,来探讨Core Java的...

    jxls1.0-2.0官网示例

    除了这些,jxls 2.0还引入了模板继承和部分重用的概念,允许开发者创建基础模板,并在其他模板中继承和扩展,提高了代码的复用性和可维护性。同时,2.0版本对性能进行了优化,处理大数据集时表现更佳。 在实际应用...

Global site tag (gtag.js) - Google Analytics