标题java学习周记二
本周的主要学习内容时面向对象编程。
类:一类事物的抽象的模板,在现实世界中 类就是任意一类事物,在程序中类就是一个描述这类事物的类文件。
对象:在这一类事物中,具体的某一个个体就是对象,在程序中对象就是new出来的有内存空间的
类和对象的关系:类和对象的关系:类是抽象的而对象是具体的,对象是由类创建的实例(new出来的)
面向对象的特征*
面向对象的三大特征:封装、继承、多态
封装:将类中的成员属性私有化,并提供公有的访问属性的方法。为了最大程度的保护类中属性的隐蔽性(不被其他对象改变)
继承:用于定义类与类的关系的方式,一个类可以继承一个类。
多态:在继承关系中,一个类的对象可能呈现不同的状态。
**构造器的作用:**用于创建对象自动调用,并可以给对象的属性赋初始值
抽象类:在已有类的基础上,由于特殊情况将该类设置为抽象的,这个类就是抽象类
抽象类的特点
1抽象类不能实例化(不能new),通常抽象被当做父类使用
2抽象类中可以有抽象方法(没有方法体的方法)也可以有普通方法
3抽象类被当作父类时,它的子类必须重写父类的抽象方法
接口:接口用于对某件事物的功能的声明,而没有实现具体功能,接口提供对软件开发的标准和规范。
实现多态的前提
- 基于继承关系或基于实现关系的
- 子类或实现类必须对方法进行重写(没有重写的方法,不具有多态行为)
- 父类的引用指向子类对象(接口的引用指向实现类的对象)
在多态环境下,方法和属性的调用规则
属性:当子类和父类存在相同属性时,以对象的左边引用类型为依据,所谓“看左边”
方法:以当前new出来的对象为依据,如果方法重写了就调用之类方法,如果方法没有重写就调用父类方法
静态方法:无论 方法是否重写,都以对象左边的引用类型为依据
总结:自我感觉对这周内容理解不够透彻,需要对这些定义更进一步的掌握。