来了来了,我又来了!
今天我们学习Java中继承与多态!
目录
1.包
2.继承
3.多态
4.重写和重载
1.包的意义:在Java中我们有时需要用到大量的类,我们为了确保能对类进行分门别类的管理,我们就需要把类存储在包里,Java的类文件可以存储在不同的包里。
包简单的来说就是文件夹,里面放的是我们创建的类文件!
除Java提供的用于程序开发的系统类被存放在各种系统包之外,开发人员也可以创建自定义包。
语法:
package<包名>
注意:声明一个包的语句必须写在类中的第一行。
例子:我们创建一个hello类,然后把它放进qqq包里
我们可以直接使用eclipse直接创建一个qqq的包,然后在qqq包里创建一个hello的类!
a.包的导入:在Java中如果我们在一个包的需要用到在另一个包中的类,那么我们就需要导入那个包。
语法:
1. import<包名>.<类名> 例如:import qqq.hello;//导入qqq包中的hello类
2. import qqq.*; //导入qqq包中所有类
注意:*代表所有类
例子:假如我们需要在eee包 的what类中调用qqq包的hello类
注意:a.一个包中的成员的访问权限为public,那么才能被其他包中的类所引用
b.如果缺省访问权限成员,就只能被同一个包中的类访问,不能被其他包中的类访问
2.继承
继承:继承是面向对象程序设计的一个重要特征,它是通过继承原有类派生出的子类进而构造出更为复杂的子类。而子类既可以有新定义的行为特征,又继承了原有类的行为特征。
通俗一点讲就是子类继承父类!,继承父类后,父类中属性,方法等都会在子类中!
继承的作用:在Java中我们要创建很多的类,而有些类是具有相同地特征 ,为了减少 大量重复的代码,我们就把那些相同特征的 放在一个类中(父类),然后其他类(子类)在继承父类 !
语法:
[修饰符] class 子类名[extends 父类名] {
//类定义部分
}
注意:a.在使用继承的特征时,需要注意的是,子类可以继承父类中访问权限为public、protected、default的成员变量和方法。
b.java中的继承为单继承,即一个子类只能有一个直接的父类
c.子类在调用父类的时要使用super
3.多态(多个类继承同一个类时)
多态:通过同一个声明的对象指向不同的实际的对象,执行同一个操作产生不同的结果
在多态中需要引用变量的强制类型转换:
a.基本类型 之间转换只能在数值类型之间转化,而引用类型之间的转化需要在具有继承关系的两个类型之间转化。如果是没有任何继承关系的类型,则无法进行类型转换,否则编译时会出现错误
b.instanceof运算符:.instanceof运算符的前一个操作数通常是一个引用类型变量,后一个操作数通常是一个类,它用于判断运算符前面的引用变量是否是运算符后面的类型或其子类型的实例,如果条件成立则返回turn,否则返回false。
4.重载和重写
重载(同一个类中):参数,数据类型不同 方法名相同
重写(子类与父类之间):参数,方法名等其他都相同
注意:重写的访问修饰符子类的不能比父类高