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;
}
}
分享到:
相关推荐
在信息技术日新月异的今天,电子商务已经渗透到我们生活的方方面面,而作为支撑电商网站后台运作的核心技术之一,Java以其稳定、高效、跨平台等特性,成为开发网上商城系统的首选语言。"shopping--for--java-core....
- 持续学习:Java技术不断更新,需要保持学习习惯,理解新特性和框架。 - 实践编程:动手实践是学习的关键,通过看懂代码、模仿编写、独立实现来提升技能。 - 解决问题:遇到问题及时解决,避免积累,提高学习...
7. **持续集成**:为了保持代码的自动更新,可以将Mybatis Generator集成到构建工具(如Maven或Gradle)中,使其在每次构建时自动运行,确保代码与数据库模型始终保持同步。 总的来说,`mybatis-generator-core-...
《Core Java 7源码分析》 在Java编程领域,Core Java系列书籍是广大开发者学习和进阶的重要参考资料。Core Java 7,即《Core Java Volume I - Fundamentals》的第七版,它深入探讨了Java语言的核心特性,包括面向...
在"CoreJava练习题目(1)"中,这一部分的习题可能要求学习者编写简单的类和对象,理解封装、继承和多态性,并能够应用这些概念解决实际问题。例如,通过设计一个宠物类并创建多个实例,学习者可以更加直观地理解面向...
《CoreJava基础知识详解》 CoreJava,作为Java编程的基础,是每一位Java开发者必须掌握的核心技能。...无论你是初学者还是经验丰富的开发者,持续深化CoreJava的学习都是提升编程技能的有效途径。
6. **选择器继承**:一个类可以选择继承另一个类的所有样式,避免重复代码。 结合HTTPCore-ab-4.4-alpha1和SASS,我们可以构建高性能的Web应用,利用HTTPCore的强大功能进行后端通信,同时借助SASS提升前端样式表的...
尽管它不是Java,但Swift在面向对象编程和现代化语法方面与Java有许多相似之处,使其成为构建复杂系统的理想选择。 1. **面向对象编程**:Swift 支持面向对象编程(OOP)概念,如类、对象、继承、封装和多态性。在...
在Java编程领域,Core Java是基础且至关重要的部分,它涵盖了Java语言的核心概念和技术。"COREJAVA学习代码"这个主题旨在帮助开发者深入理解和掌握Java...持续练习和项目实战将有助于你成为一位精通Core Java的开发者。
Struts2是一个非常著名的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,极大地简化了Java Web应用程序的开发。标题中的"struts2-core-2[1].0.11.zip"指的是Struts2的核心库版本2.0.11.2,这是一个...
《SUN公司CoreJava培训教材》是一份详尽的Java编程学习资料,涵盖了从基础到高级的多个主题,旨在帮助学员全面理解并掌握Java核心技术。以下是根据提供的内容展开的Java核心知识点详解: 1. **Java编程语言的发展...
在Android开发领域,Java语言是主要的编程工具之一。`Java Core Sprout`是一个专注于Java核心概念的知识库,旨在帮助开发者巩固和深化Java基础。这个项目涵盖了从基本语法到高级特性的广泛内容,对于Android面试准备...
因此,本篇内容将基于【标题】、【描述】以及【标签】来构建相关的Java就业知识点。 ### Java编程基础 1. **Java语言特性**:Java是一种面向对象的编程语言,具有平台无关性、健壮性、安全性等特点。 2. **开发...
【标题】"CORE JAVA 翻译者 陈昊鹏老师的JAVA 系统开发基础PPT" 提供了一个深入学习Java编程语言的基础教程,由知名翻译者和教育家陈昊鹏老师亲自编撰。这个PPT课程涵盖了Java的核心概念,是系统开发初学者和进阶者...
5. **持续学习:** Java语言和技术不断更新发展,保持学习的态度,跟踪最新的技术和框架。 #### 四、总结 《Core Java应用程序设计教程2》是一本非常适合初学者和有一定基础的开发者学习的书籍。它不仅覆盖了Java...
《CoreJava学习笔记》 Java,作为一种广泛使用的高级编程语言,以其独特的特性和优势深受开发者喜爱。本学习笔记旨在深入浅出地介绍Java的核心概念,帮助初学者快速掌握这一强大的工具。 1. Java特点 Java语法...
《核心Java(Core Java)》是Java编程领域中极具权威性的教材,主要针对初学者和有一定经验的开发者。这套教程分为两卷,分别是卷I和卷II,它们深入浅出地介绍了Java语言的基础和高级特性,是理解Java编程精髓的重要...
Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。"Core-Java"通常指的是Java的基础部分,包括语法、数据类型、控制结构、面向对象特性、异常处理、集合框架等核心概念。本篇文章将深入...
开源,作为一种开放源代码、鼓励协作的开发模式,使得Core Java的相关知识得以广泛传播和持续改进。本文将围绕“coreJava-开源”这一主题,通过分析“classloaderDemo.jar”这个压缩包中的文件,来探讨Core Java的...
除了这些,jxls 2.0还引入了模板继承和部分重用的概念,允许开发者创建基础模板,并在其他模板中继承和扩展,提高了代码的复用性和可维护性。同时,2.0版本对性能进行了优化,处理大数据集时表现更佳。 在实际应用...