07-24总结

1、封装

封装概述

    是面向对象三大特征之一(封装,继承,多态)

    是面向对象编程语言对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的,外界是无法直接操作的

封装原则

    将类的某些信息隐藏在类内部,不允许外部程序直接访问,而是通过该类提供的方法来实现对隐藏信息的操作和访问

封装好处

    1.通过方法来控制成员变量的操作,提高了代码的安全性

    2.把代码用方法进行封装,提高了代码的复用性

private关键字

    private是一个权限修饰符,代表最小权限。

    可以修饰成员变量和成员方法,被private修饰后的成员变量和成员方法,只在本类中才能访问。

为什么要对属性进行封装

    通过对象名直接访问成员变量的方式来对属性赋值,会存在数据安全隐患。

    解决方式: 不让外界直接访问成员变量(也就是要对属性进行封装)

对属性封装的步骤

    1. 使用private修饰成员变量

    2. 对需要访问的成员变量,提供对应的 get 方法(获取属性的值) 、 set 方法(给属性赋值)。

this的含义和使用

    this代表当前调用方法的引用,哪个对象调用this所在的方法,this就代表哪一个对象

    this关键字其主要作用是区分同名的局部变量和成员变量


2、构造方法

构造方法的概述

    构造方法是一种特殊的方法,主要是完成对象的创建和对象数据的初始化

注意事项

    构造方法的写法上,方法名与它所在的类名相同

    构造方法没有返回值,所以不需要返回值类型,甚至不需要void

    如果没有定义构造方法,系统将给出一个默认的无参数构造方法

    如果定义了构造方法,系统将不再提供默认的构造方法

    构造方法可以重载,既可以定义参数,也可以不定义参数。


3、API

什么是API

    API (Application Programming Interface) :应用程序编程接口。Java API是一本程序员的字典,是JDK中提供给我们使用的类的说明文档。这些类将底层的代码实现封装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可。所以我们可以通过查询API的方式,来学习Java提供的类,并得知如何使用它们。

    API其实就是JDK中核心类库的说明文档

    对于JDK中的核心类库只需要知道如何使用,无须关心他是如何实现的


4、继承

继承的含义

    在java中指的是一个类可以继承自另一个类。 被继承的类叫做父类/超类/基类,继承其他类的类叫做子类。继承后,子类中就拥有了父类中所有的成员(成员变量、成员方法), 子类就不需要再定义了。

    通过继承可以将一些共性的属性,行为抽取到一个父类中,子类只需要继承即可,提供了代码的复用性

继承后成员访问规则

    1. 构造方法不能被继承

    2. 父类的“私有成员”可以被子类继承,但子类不能被直接访问。

    3. 当通过“子类”访问非私有成员时,先在子类中找,如果找到就使用子类的,找不到就继续去“父类”

中找。


5、方法重写

方法重写的概念

    子类觉得父类的方法不够好,就可以在子类中对父类的方法进行重写。

    子类中出现与父类一模一样的方法时(返回值类型,方法名和参数列表都相同),会出现覆盖效果,也称为重写或者复写。声明不变,重新实现。

注意事项

    1. 方法重写是发生在子父类之间的关系。

    2. 子类方法重写父类方法,返回值类型、方法名和参数列表都要一模一样。

    3. 子类方法重写父类方法,必须要保证权限大于等于父类权限。访问权限从大到小: 

public protected (默认) private

    4. 使用@Override注解,检验是否重写成功,重写注解校验!建议重写方法都加上这个注解,一方面可以提高代码的可读性,一方面可以防止重写出错!


6、this和super关键字

this:存储的“当前对象”的引用;

    this可以访问:本类的成员属性、成员方法、构造方法;

super:存储的“父类对象”的引用;

    super可以访问:父类的成员属性、成员方法、构造方法;

super的注意事项一

    super访问成员变量和成员方法: 优先去父类中找,如果有就直接使用,如果没有就去爷爷类中找,如果有,就用,依次类推

super的注意事项二

    子类的构造方法默认会调用父类的空参构造方法,如果父类中的没有空参构造方法,只定义了有参构造方法,会编译报错


7、抽象类

抽象类

    概述: 使用abstract关键字修饰的类就是抽象类

    特点: 这种类不能被创建对象,它就是用来做父类的,被子类继承的

抽象方法

    没有方法体,使用abstract修饰的方法就是抽象方法,抽象方法就是让子类重写的方法。

    格式:修饰符  abstract  返回值类型  方法名 (形参列表) ;

注意事项

    抽象类不能被创建对象,就是用来做“父类”,被子类继承的。

    抽象类不能被创建对象,但可以有“构造方法”——为成员属性初始化。

    抽象类中可以没有抽象方法,但抽象方法必须定义在抽象类中

    子类继承抽象类后,必须重写抽象类中所有的抽象方法,否则子类必须也是一个抽象类


8、static关键字,final关键字

static的作用

    被static修饰的内容, 属于类, 随着类的加载而加载,类的加载时机最先执行, 且只执行一次

    static修饰的成员变量(也叫做类变量), 被这个类所有对象所共享

    static修饰的成员变量(类变量)和成员方法(类方法), 可以直接使用“类名.”的方式调用

final的作用

    final修饰的类, 不能被继承

    final修饰的方法, 不能被重写

    final修饰的变量就变成了常量, 它的值不能修改, 只能赋值一次


9、模版方法设计模式

    模版方法模式: 在一个方法中定义一个算法的骨架, 而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下, 重新定义算法中的某些步骤。

    抽象类体现的就是模板思想,模板是将通用的东西在抽象类中具体的实现,而模板中不能决定的东西定义成抽象方法,让使用模板(继承抽象类的类)的类去重写抽象方法实现需求。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容