Java小白学习笔记(六)——面向对象高级特性

继承
继承也称为泛化,继承性是子类共享父类中的属性和方法的机制,在定义一个类时,可以在已有类的基础上来进行,把已有类的内容作为自己的内容,并加入若干自己的新内容
class 类名 extends 父类名{}
被继承的类称为父类或超类,继承的类称为子类或派生类

子类继承了父类所有除构造方法以外的属性和方法,私有成员也被继承,但不能直接访问,可以借助父类的公有方法,间接访问

Java中只支持但继承,只能有一个直接父类
继承的好处
使编码更高效
易于维护
代码重用

子类实例化过程
1)子类实例化的时候,先实例化父类,再实例化子类
2)先调用父类的构造器,再调用子类的构造器

super关键字
1)调用父类的构造方法
注意:只能出现在子类构造器的第一行,通过super的参数,来决定调用父类的哪个构造器
2)如果子类没写super(),编译器会默认加上super(),即调用父类无参的构造器,如果父类没有无参的构造器,则编译报错
3)指向父类的引用
在子类方法中,明确表示使用父类的方法或成语变量,与子类中同名的成员变量、方法相区别
super和this关键字
1)super:指向父类的引用
2)this:指向自身的引用
1)super():调用父类的构造方法
2)this():调用自身的构造方法

方法的覆盖(重写 override)
子类继承父类后,子类对继承来的方法进行改造
规则:
1)方法名相同
2)参数相同
3)返回值相同
4)子类覆盖方法的访问权限不小于父类方法的访问权限
@Override作用:让编译器检查该方法是否是父类方法的重写

引用类型的转换
1)向上转型:把子类转换为父类,自动转换
前提:具有继承或实现转换
影响:向上转型损失了子类新拓展的方法和属性,只可以使用父类的方法和属性
作用:对子类进行统一管理
2)向下转型:将父类的对象强制的转换为子类类型,要进行强制转换;
子类对象 = (子类类型)父类对象
注意:一般先向上转换,再向下转换
instanceof比较运算符
用来测试一个对象是否为某个对象的实例
对象名 instanceof 类型 是该类型返回true,不是返回false

多态
不同的对象对同一个行为做出不同的反应
条件:
1)要有继承
2)有重写
3)父类的引用指向子类对象(向上转型)
作用:
实现代码的可扩展性

面向对象的设计原则:
对修改关闭,对扩展开发(开闭原则)

abstract 关键字(抽象的)
修饰类:
抽象的类:不能被实例化的类称为抽象类
格式:abstract class(){
}
作用:让其他类继承,成为其它类的父类

修饰方法:
抽象的方法:只有方法的声明,没有方法的实现的方法
格式:abstract 返回值类型 方法名(参数列表);
作用:让子类去重写

在下列情况下,类必须声明为abstract
1)一个类中包含抽象方法的时候
2)当一个继承了父类的抽象方法,有没有重写的时候
3)当一个类实现了某个接口,又没有全部实现接口中的抽象方法的时候

注意:
抽象的方法只能写在抽象的类中
抽象方法不能为static的

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值