Java面向对象之继承与多态

欢快的时光总是从学习java开始,今天我们将一起学习Java面向对象中最重要的一部分!

java面向对象的三大特性封装继承多态都是为了提高代码的复用率,使开发人员少写代码。

1.包(package)

为了更好地组织类,Java 提供了包机制,用于区别类名的命名空间。

(1)自定义包

声明包的语法如下:

package <包名>

(2)创建包 

创建包的时候,你需要为这个包取一个合适的名字。之后,如果其他的一个源文件包含了这个包提供的类、接口、枚举或者注释类型的时候,都必须将这个包的声明放在这个源文件的开头。

包声明应该在源文件的第一行,每个源文件只能有一个包声明,这个文件中的每个类型都应用于它。

如果一个源文件中没有使用包声明,那么其中的类,函数,枚举,注释等将被放在一个无名的包(unnamed package)中。

 (3)包的导入

  导入(import),将使用package分离的各个类导入回来,让编译器能够找到所需要的类。

  使用在同一个包下的类不需要导入可以直接用,使用不同的包下的类才需要导入。

  使用格式:

  import aaa.bbb.ccc;

  可以使用通配符“*”代替类名,将包中的所有类导入:

  import aaa.bbb.*;

  注意:

  import aaa.bbb.*;并不会导入import aaa.bbb.ccc包下面的类。

 2.继承

 继承是指子类继承父类的非私有成员变量与方法,在子类中可以使用。 

特征:特征有很多简述一些

  • Java是单继承多实现。一个子类最多继承一个父类,但可以实现多个接口
  • 继承具有传递性(多重或多极继承)。如果C继承了B,B又继承了A,那么C也就继承了A的所有非私有成员变量与方法
  • 基类派生出的子类具有可拓展性

Java继承语法如下:

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

   //类定义部分

}

3.重载与重写 

 (1)重载

重载(overloading) 是在一个类里面,方法名字相同,而参数不同。返回类型可以相同也可以不同。

每个重载的方法(或者构造函数)都必须有一个独一无二的参数类型列表。

最常用的地方就是构造器的重载。

重载规则:

  • 被重载的方法必须改变参数列表(参数个数或类型不一样);
  • 被重载的方法可以改变返回类型;
  • 被重载的方法可以改变访问修饰符;
  • 被重载的方法可以声明新的或更广的检查异常;
  • 方法能够在同一个类中或者在一个子类中被重载。
  • 无法以返回值类型作为重载函数的区分标准。

(2)重写

重写是子类对父类的允许访问的方法的实现过程进行重新编写, 返回值和形参都不能改变。即外壳不变,核心重写!

重写的好处在于子类可以根据需要,定义特定于自己的行为。 也就是说子类能够根据需要实现父类的方法。

4.多态

多态是同一个行为具有多个不同表现形式或形态的能力。

多态存在的三个必要条件:

  • 继承
  • 重写
  • 基类引用指向派生类对象(引用还是指向基类)

比如:

Parent p = new Child();

​ 当使用多态方式调用方法时,首先检查基类中是否有该方法,如果没有,则编译错误;如果有,再去调用派生类的同名方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值