201711671235学习《java程序设计》第五周学习总结

教材学习内容总结

1.子类和父类

a.继承是一种由已有的类创建新类的机制

b.java不支持多重继承,即子类只能有一个父类

一般类(父类:公有属性)
子类(子类:继承/新定义的属性和行为)

c.class 子类名 extends 父类名{}

2.子类的继承性

a.子类和父类在同一个包中继承性:子类自然地继承了其父类中不是private的成员变量和方法

b子类和父类不在同一个包中继承性:子类自然地继承了其父类中不是private和friendly的成员变量和方法

c.protected的进一步说明:

以上情况obiect对象可以访问protected成员变量和方法

3.子类和对象

a.子类构造方法创建对象->父类的成员变量也被分配空间

b.关于instance of:对象 instance of 类(左边对象是否为右边的类或子类所创建的对象)返回ture or false

4.成员变量的隐藏和方法重写

a.

子类父类
成员变量同名
隐藏从父类继承的成员变量 
子类对象以及子类自己定义的方法操作子类重新声明的成员变量
子类继承的方法所操作的成员变量是被子类继承或隐藏的成员变量

b.

子类继承自父类的方法访问/调用子类新定义的方法访问/调用
继承和隐藏的成员变量继承和新声明的成员变量
 用super关键字操作隐藏的成员变量

c.方法重写(方法覆盖):可以隐藏已继承的方法

语法规则:返回类型/父类的子类型(返回类型为类类型) 方法名(参数个数、类型):与父类一样

           注:假如People只一个父类,它的子类可以为Student,即子类型为Student

重写方法是否能操作
继承成员变量和方法Yes
子类定义的成员变量和方法Yes
被子类隐藏的成员变量和方法No

 

注意事项:重写父类方法时,不允许降低方法的访问权限,可以提高访问权限

5.super关键字

a.用super操作被隐藏的成员变量和方法

b.使用super调用父类的构造方法:如果子类的构造方法没有明显的指明使用父类的哪个构造方法,子类就调用父类的不带参数的构造方法,且子类不继承父类的构造方法

6.final关键词

a.final+成员变量|局部变量=常量

b.final class 类名{}:该类不能被继承,不能有子类

c.父类中:final+方法:不允许子类重写改方法

7.对象上转型对象

class B extends A{}

A a;

B b=new B();

a=b;

a是b的上转型对象

上转型对象是否操作 
子类新增的成员变量和方法No
子类继承或隐藏的成员变量Yes
子类继承的方法或子类重写的实例方法(子类对象调用这些方法)Yes

a.父类创建对象(不一定等于)子类对象的上转型对象

b.对象上转型对象强制转换到子类对象:子类名 子类对象=(子类名)父类对象名      此时子类对象具备子类所有属性与功能

c.不允许:子类 对象=父类创建对象的引用

d.

8.继承与多态

上转型是多态的表现形态,多态性是指父类的某个方法被其子类重写,可以各自产生自己的功能行为

9.abstract类和abstract方法

a.用关键字abstract修饰的类成为abstract类(抽象类)

b.abstract方法只允许声明不允许实现(没有方法体)

c.因为abstract类要被继承,abstract方法要被重写·,所以不允许final 和 abstract 同时修饰一个方法或类 ,也不允许 static 修饰  abstract方法(即abstract方法必须是实例方法)

abstract类
abstract方法
非abstract方法

d.abstract类不能用new运算符创建对象

e.非abstract类继承abstract类时,它必须重写abstract方法(即去掉abstract,给出方法体),如果是abstract类继承abstract类,可以重写/继承abstract方法

10.面向抽象编程

使用多态进行程序设计的核心技术之一是使用上转型对象,即将abstract类声明的对象作为其子类的对象的上转型对象,那么这个上转型对象就可以调用子类重写的方法

教材学习中的问题和解决过程

子类继承/新定义/重写的访问的访问权限容易混淆:画图分析

上转型对象的访问权限:画图分析

 代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标5000行20篇400小时会用java语言独立设计程序
第一周13/131/1 5/5学会使用jdk以及对java源程序语句的基本注意事项有所了解
第二周140/143 1/210/15学会java基本数据类型与数组和c语言/c++在表达和用法上的相同/不同之处
第三周276/4191/320/35java中运算符,表达式和语句的表现形式,类的声明,定义方法
第四周600/10191/430/45类和对象
第五周

150/1169

1/510/55继承的作用,子类和父类的继承性,子类继承父类后方法的访问权限以及各种操作

参考文献

《java2实用教程(第5版)》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值