Java 课程小结

目录

1.1类的基础

1.2 成员的隐藏与覆盖

1.3动态绑定


1.1类的基础

大家能够理解类的概念,例如动物类,可以进一步细分为很多子类、狗、猫、老虎、狮子等,这些子类共同都属于动物这个大类,都继承了动物共同的特性,同时又具有各自的特点。 


继承也被用于程序设计中,在现有的类(称为父类或基类)上建立新类(称为子类或派生类)的处理过程即为继承

利用继承,可以实现代码的重用。即当一个类从另一个类派生出来时,派生类就自然具有了基类数据成员、方法成员等,基类定义中这些成员的代码,就不需要在派生类定义中重写,在派生类的定义,只需要写基类定义中所不具有的代码即可。

在Java中,所有的类都是通过直接或间接地继承Object类得到的。

声明派生类的一般形式如下:

【访问修饰符】class 类名 extends 基类{
    类的成员
}


   后   《    前 


在Java中,派生类不能继承其基类的构造方法。

在创建派生类对象时,先调用基类构造方法,再调用派生类自己的构造方法。

使用 super 关键字调用基类构造方法

  • super():调用基类无参构造方法。
  • super(参数列表):调用基类有参构造方法。

如果没有使用 super 显式调用,编译器就会自动将 super() 作为构造方式的第一条语句(默认调用基类无参构造方法)。


请分析程序运行结果:


通过 super 关键字调用基类有参构造方法。


1.2 成员的隐藏与覆盖

类的继承中,派生类继承了基类的所有成员(构造方法除外)。

当子类定义的成员变量与父类的成员变量同名时,子类隐藏父类的成员变量,即在默认情况下,子类使用自己的成员变量。

当子类定义的方法与父类同名、参数一致时,子类覆盖(重写 override)父类方法,即在默认情况下,引用子类自己的方法。


成员方法重写示例

 

super 关键字示例


super  指代一个对象的父类/基类

super  的作用

  • 调用父类构造方法
  • 取父类中被子类隐藏了的成员变量
  • 取被子类覆盖了的方法

super 关键字调用语法

  • 调用父类成员变量:super .成员变量名
  • 调用父类构造方法:super()    super(参数列表)
  • 调用父类方法:super.父类方法();

super 关键字示例:


this 关键字

this 代表当前对象

this 的作用

  • 可以调用本类的非静态方法和成员变量。
  • this 关键字还可以调用本类中的构造方法

this 关键字调用语法:

  • this .成员变量名
  • this .方法名(参数表)
  • this (参数表)  //引用本类的构造方法

this 关键字示例

为了阻止一个类的代码被其他类继承,可以使用终极类,即在类前使用 final 关键字。

如:

public final class Animal
{
......
}

则 Dog 类就无法继承 Animal 类,其所有代码需要重新书写。


1.3动态绑定


1.4抽象类

  • 下面举一个生活中的例子来理解多态。如果我们要求3种人———孩子、运动员、音乐演奏者都执行一个动作 “play” ,会发生什么情况呢?
  • 孩子会出去玩耍。
  • 运动员进行比赛。
  • 演奏者开始演奏。

对于同一个命令,不同的人会有不同的反应,执行不同的动作,这就是生活中的一个多态。在程序设计中,对于同一个方法,由于执行方法的不同,方法的内容就不同。执行后的结果也是不相同的。

多态是指不同类的对象,调用同一个方法出现不同的结果。

抽象方法:只有方法的说明,没有任何代码的实现。用 abstract 修饰符进行声明。它告诉编译器,派生类必须通过重写该方法以提供它们自己实现。

抽象类:含有一个或一个以上的抽象方法的类。

抽象方法:只有方法的声明,没有任何代码的实现。

抽象类:含有一个或一个以上的抽象方法的类。

  • 抽象类中可以包含有一般方法,也可以包含有抽象方法
  • 抽象类只能作为基类。它本身不能实例化
  • 如果抽象类的子类不能实现所有的抽象方法,那么子类也必须定义为抽象类,即抽象类派生的非抽象子类,必须实现所有抽象方法

    文章到此结束,欢迎大家留言补充!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值