java 继承与多态

一、包

包是类的逻辑组织形式。在程序中可以声明类所在的包。同一个包中的类名不能重复。包是有层次结构的,即一个包中可以包含若干个字package <包名>句。

声明包的语法如下:

package <包名>

注意:声明一个包的语句必须写在类中的第一行。

创建Hero类,将该类存放到com.java.oriented.dato.figure包中,具体操作如下

如果要使用Java中存在的包,可以在程序中使用import语句导入包。

在程序中导入包的格式如下:

import <包名>.<类名>

如果要导入一个包中的多个类,可以使用“*”表示包中饭所有的类。

例如:

import java.util.*;  //导入Java.util包中所有的类

import java.until.ArrayList;   //导入Java.util包中的ArrayList类

二、继承

 继承是面向对象的程序设计的一个重要特性,它是通过继承原有类派生出的子类而进而改造出更为复杂的子类。

Java的继承使用extends关键字实现,实现继承的类称为子类,被继承的类称为父类,也被称为基类,超类。

Java继承语法如下:

[修饰符]  class 子类名 [extends 父类名]{

   //类定义部分

}

注意:Java中的继承为单继承,即一个子类只能有一个直接的父类。 

 三、重载和重写 

(1)重载

  • 方法名相同,参数不同。并在同一个类中。
  • 由于方法的参数个数或类型不同,所有可用区分重载的方法。 

构造方法也可实现方法的重载。

(2)重写

重写在子类与父类中,方法名和参数相同。

四、多态

同一操作作用于不同的对象,可以有不同的解释,以致产生不同的执行的结果。 

instanceof运算符 

instanceof主要用来判断一个类是否实现了某个接口,或者判断一个实例对象是否属于一个类。

其使用格式如下:     

引用类型变量 instanceof (类、抽象类或接口)

课后练习:

 在Hero类中使用Tree类,Hero类与Tree类不在同一个包中

定义父类武器,以及子类圣剑和长矛

 


在Book类中定义3个互为重载的方法,它们分别计算不
同情形下图书的价格。

指向子类的父类引用在执行重写方法时所体现的多态性

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值