目录
第1章 课程大纲介绍
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
第2章 继承的应用
2-1 什么是多态
同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。 简单的说:就是用基类的引用指向子类的对象。
2-2 继承基本语法和使用场景
继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类。 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为。
继承的特征:
1.子类拥有父类非 private 的属性、方法。
2.子类可以拥有自己的属性和方法,即子类可以对父类进行扩展。
3.子类可以用自己的方式实现父类的方法。
4.Java 的继承是单继承,但是可以多重继承,单继承就是一个子类只能继承一个父类,多重继承就是,例如 B 类继承 A 类,C 类继承 B 类,所以按照关系就是 B 类是 C 类的父类,A 类是 B 类的父类,这是 Java 继承区别于 C++ 继承的一个特性。
继承的优点:解决代码的重复性
public class Father { //父类
public Integer regNo; //定义一个Integer类型的变量
public String name; //定义一个字符串
public String gender; //定义一个字符串
public Integer age; //定义一个Integer类型的变量
public String job; //定义一个字符串
public void working(){ //定义一个方法
System.out.println(this.name+"在工作中....");//输出信息李白在工作中....
}
}
public class Son extends Father {//定义一个子类并继承父类
public void playGame(){//定义一个方法
System.out.println(this.name+"在游戏中....");//输出信息
}
public static void main(String[] args) {//主方法
Son son=new Son();//创建一个对象
//操作属性
son.name="李白";//继承
//操作方法
son.working();//继承
son.playGame();//自有
}
}
/**
* 系统用户:父类
* @author 86157
*
*/
public class SystemUser {//类名
public String username;//账号
public String password;//密码
public String name;//姓名
public String gender;//性别
public Integer age;//年龄
public String regNo;//身份证号码
public String phone;//手机
public String email;//邮箱
public String address;//地址
public SystemUser(){}//一个方法
public SystemUser(String username,String password,String name){//定义一个方法并传入三个字符串类型的参数
this.username=username;//调用成员变量并赋值
this.password=password;//调用成员变量并赋值
this.name=name;//调用成员变量并赋值
}
}
/**
* 系统管理员
* @author 86157
*
*/
public class Manager extends SystemUser {//类名
}
/**
* 医师
* @author 86157
*
*/
public class Doctor extends SystemUser {//类名
public String department;//部门
public String offices;//科室
}
/**
* 医护
* @author 86157
*
*/
public class Nurse extends SystemUser{//定义一个类并继承父类
//部门
public String department;//定义自己的属性
}
第3章 final和super关键字
3-1 final关键字
在Java中,final关键字可以用来修饰类、方法和变量(包括成员变量和局部变量)。
1.final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误。final变量一旦被初始化后不能再次赋值。
2.本地变量必须在声明时赋值。 因为没有初始化的过程
3.在匿名类中所有变量都必须是final变量。
4.final方法不能被重写, final类不能被继承
5.接口中声明的所有变量本身是final的。类似于匿名类
6.final和abstract这两个关键字是反相关的,final类就不可能是abstract的。
7.final方法在编译阶段绑定,称为静态绑定(static binding)。
8.将类、方法、变量声明为final能够提高性能,这样JVM就有机会进行估计,然后优化。
import java.util.Date;//导入Data方法
/**
* 医疗项目中的采购清单
* 采购方/联系方式/邮箱/传真/地址
*提供方/联系方式/邮箱/传真/地址
*采购单编号/采购类型/采购单位/采购数量/采购单价/交易时间/总计金额/备注/注意事项1~n
*
*/
public final class Purchase{//购买类
public String demanName;//采购方
public String demanPhone;//联系方式
public String demandEmail;//邮箱
public String demandFax;//传真
public String demandAddress;//地址
public String supplyName;//提供方
public String supplyPhone;//联系方式
public String supplyEmail;//邮箱
public String supplyFax;//传真
public String supplyAddress;//地址
public Integer purchaseId;//采购单编号
public String purchaseType;//采购类型[枚举]
public String purchaseBrand;//采购规格
public String purchaseUnits;//采购单位
public String purchasePrice;//采购单价
public Date purchase