当前位置:网站首页 > Java基础 > 正文

java基础唐亮



文章目录

  • 297. super基本语法
    • 297.1 基本介绍
    • 297.2 基本语法
  • 298. super使用细节1
  • 299. super使用细节2
  • 300. super使用细节3
  • 301. 方法重写介绍
  • 302. 方法重写细节
  • 303. 重写课堂练习1
  • 304. 重写课堂练习2
  • 输出结果: 姓名:田所浩二 年龄:24
  • 305. 养宠物引出多态
  • 306. 方法的多态
  • 307. 对象的多态
  • 308. 多态快速入门
  • 309. 向上转型
  • 310. 向下转型
  • 311. 属性重写问题
  • 312. 多态课堂练习1
  • 313. 多态课堂练习2

297. super基本语法

297.1 基本介绍

super 代表父类的引用,用于访问父类的属性、方法、构造器

297.2 基本语法

298. super使用细节1

  1. 调用父类的构造器的好处(分工明确,父类属性由父类初始化,子类的属性由子类初始化)
  2. 当子类中有和父类中的成员(属性和方法)重名时,为了访问父类的成员,必须通过super. 如果没有重名,使用super、this、直接访问是一样的效果。


    子类父类成员和方法不重名,则直接调用:

    属性也是遵循上述规则

299. super使用细节2


也就是说父类没有但是父类的父类有的成员,在这个子类中也能用super关键字访问。

300. super使用细节3

  • super和this的比较

    this和super放在首行只能二选一

301. 方法重写介绍


【注】这里的子类和父类不一定是“一层”的关系,有可能是A<-B<-C


JVM会就近调用子类的cry()方法

302. 方法重写细节

方法重写也叫方法覆盖,需要满足下面的条件

303. 重写课堂练习1

请对方法的重写和重载做一个比较

304. 重写课堂练习2

  1. 编写一个 Person 类,包括属性/private(name、age),构造器、方法 say(返回自我介绍的字符串)。
  2. 编写一个 Student 类,继承 Person 类,增加 id、score 属性/private,以及构造器,定义 say 方法(返回自我介绍的信息)。
  3. 在 main 中,分别创建 Person 和 Student 对象,调用 say 方法输出自我介绍
    Person.java
 

Student.java

 

OverrideExercise.java

 

输出结果:
姓名:田所浩二
年龄:24

姓名:德川
年龄:26
id:114514
分数:114514.1919

305. 养宠物引出多态


传统方法写7个类:


如果再写猫喂鱼,又要重载一个方法,feed的类型越来越多,一直写重载,很繁琐,多态可以提高代码的复用性。

306. 方法的多态

方法或对象具有多种形态。是面向对象的第三大特征,多态是建立在封装和继承基础之上的。

307. 对象的多态



【注】也就是说,能够用一个父类的引用指向子类的对象。
Animal.java

 

Cat.java

 

Dog.java

 

PolyObject.java

 

运行结果:
Dog cry()
Cat cry()

308. 多态快速入门


利用多态的机制,父类的引用可以指向子类

309. 向上转型

多态的前提是:两个对象(类)存在继承关系
多态的向上转型






310. 向下转型



java基础唐亮

311. 属性重写问题





312. 多态课堂练习1

313. 多态课堂练习2

s和b都是引用,都指向同一个地址

版权声明


相关文章:

  • java基础的歌曲大全2024-10-15 17:02:05
  • java基础知识296讲解2024-10-15 17:02:05
  • java基础中的标识符2024-10-15 17:02:05
  • 基础java能做出哪些软件2024-10-15 17:02:05
  • java输入输出流基础知识2024-10-15 17:02:05
  • java 框架基础知识2024-10-15 17:02:05
  • java 基础运算2024-10-15 17:02:05
  • java哪些基础类2024-10-15 17:02:05
  • java集合类基础框架2024-10-15 17:02:05
  • java基础随机数2024-10-15 17:02:05