• java学习总结


    前言本次总结,是对这学期以来对于Java的所有课程学习的总结。将从知识总结、设计心得、课程收获三方面总结。

    一、知识总结

    本学期介绍了面向对象程序设计的常用七种术语,总结如下:

      1.     对象:

        面向对象程序设计就是使用对象进行程序设计。对象代表现实世界中可以明确标识的一个实体。例如:一个学生、一张桌子、一个按钮等都可以看作是一个对象。每个对象都有自己独特的属性(状态)和方法(行为)。

      2.     属性

        用来描述对象静态特征 (状态)的一个数据项 (专业术语:成员变量)

    属性一般就是成员变量,属性的定义规则是:set/get方法名,去掉set/get后,将剩余部分首字母小写得到的字符串就是这个类的属性。

      3.     操作

        用来描述对象动态特 征(行为)的一个动作系列。 (专业术语:方法)

      4.    

        是具有相同属性和操作的一组对象的集合, 它为属于该类的全部对象提供了统一的抽象描述,由一个类名、一组属性和一组操作构成

      5.     封装

        就是把对象的属性和操作结合成一个独立的系统单位,并尽可能隐藏对象的内部细节,通俗的讲就是包装,把控权限,该访问的访问,不该访问的限制访问(常用修饰符有public、private,以及缺省)。适当的封装可以让程式码更容易理解和维护,也加强了程式码的安全性。

      6.     继承

        是指特殊类(子类)可以自动拥有一般类(父类)的全部属性和操作。但是要注意private等修饰的属性和方法。

      继承的特点:

      (1). 只支持单继承,即一个子类只允许有一个父类。

      (2). 子类可以拥有父类的属性和方法

      (3). 子类可以拥有自己的属性和方法

      (4). 子类可以重写覆盖父类的方法

      7.     多态

    指继承之后出现的各个子类,这种子类之间是有相同部分也有不同部分。

    此外,还进一步学习了修饰(主要是封装)、接口以及各种关键字等有关知识,其总结如下:

           Final关键字

        使用final声明类不能有子类,声明的方法不能被子类所重写,声明的变量是常量不能修改。

           Super关键字

             在继承父类的时候,访问父类的属性(变量)可以通过super关键字来实现,在创建子类对象时,默认会先调用父类无参的构造方法,可以通过super关键字指定调用父类的构造方法。

           和this的区别

           (1).代表的事物不一致。

        super关键字不能代表对象,只是代表一个对象中的一块内存。

        this关键字代表的是所属函数的调用者对象。

      (2).使用前提不一致。

        super关键字必须要有继承关系才能使用。

        this关键字不需要存在继承关系也可使用

      (3). 调用构造函数的区别:

        super关键字是调用父类的构造函数。

        this关键字是调用本类的构造函数。

      需要注意的是

        super与this关键字不能同时出现在同一个构造函数中调用其他的构造函数。因为两个语句都需要第一个语句。(例子 main方法不能同时使用this,super)

           抽象类

    1. Java中抽象类表示的是一种继承关系,一个类只能继承一个抽象类,而一个类却可以实现多个接口。
    2. Java中所有的对象都是通过类来描绘的,但是并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。 抽象类中类的其它功能依然存在,但是不能实例化对象。由于抽象类不能实例化对象,所以抽象类必须被继承,才能被使用。

           Object类

                  是所有类的父类,声明一个Object类的作用就是可以传递任何类型的类来使用。

           它有很多类对象会用到的方法,例如比较常用的toString 、equals。

      写封装方法的时候不确定传进来的值的类型,就可以使用Object作为类

           接口

        接口,在JAVA编程语言中是一个抽象类型,是抽象方法的集合,接口通常以interface来声明。一个类通过继承接口的方式,从而来继承接口的抽象方法。

           异常处理

                  通常使用try和catch关键字来捕获异常

           Catch 语句包含要捕获异常类型的声明。当保护代码块中发生一个异常时,try 后面的 catch 块就会被检查。

      如果try里没有代码,或者没有try,出现异常会导致程序崩溃。

    二、设计心得

      对于代码的设计需要遵循基本的设计原则:

      1.     开闭原则

        面向扩展开放,面向修改关闭。

        通俗的讲就是需要注意代码的健壮性,其可扩展,但不可修改。在有新的需求的时候,增加一些类就可以了,而对于原来的代码不能够修改。

      2.单一原则

             一个类只负责一项职责,应该仅有一个引起它变化的原因

      优点有:

      (1).可以降低类的复杂度,逻辑更简单;

      (2).提高类的可读性,提高系统的可维护性;

      (3).变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。

      3.依赖倒转原则

             此项原则理解不够,给出的解释是: 高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。即针对接口编程,不要针对实现编程

      4. 组合/聚合复用原则

                  就是说要尽量的使用合成和聚合,而不是继承关系达到复用的目的

           该原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分:新的对象通过向这些对象的委派达到复用已有功能的目的。

           合成/聚合复用

      ① 优点:

        新对象存取成分对象的唯一方法是通过成分对象的接口;

        这种复用是黑箱复用,因为成分对象的内部细节是新对象所看不见的;

        这种复用支持包装;

        这种复用所需的依赖较少;

        每一个新的类可以将焦点集中在一个任务上;

         这种复用可以在运行时动态进行,新对象可以使用合成/聚合关系将新的责任委派到合适的对象。

      ② 缺点:

        通过这种方式复用建造的系统会有较多的对象需要管理。

      继承复用

      ① 优点:

         新的实现较为容易,因为基类的大部分功能可以通过继承关系自动进入派生类;

         修改或扩展继承而来的实现较为容易。

      ② 缺点:

         继承复用破坏包装,因为继承将基类的实现细节暴露给派生类,这种复用也称为白箱复用;

         如果基类的实现发生改变,那么派生类的实现也不得不发生改变;

         从基类继承而来的实现是静态的,不可能在运行时发生改变,不够灵活。

    三、课程收获

           1.通过本门课程的学习,对于面向对象思维有了更深的认识。从面向过程的c语言当中,可以清楚的发现,c语言是一门注重怎么写的一门语言,对于一个具体的问题需要设计其模型(包括函数、变量),过程繁琐,理解易出现混乱。但是一门面向对象的语言,解决问题设计模型,大体上使用对象的语言来描述,不需要太过于注重细节,细节只需要交给对象来实现即可。对于程序的可读性大大提高。

           2.Java还设计了很多接口、复用功能等,可以大大化简程序的设计。

           3.在学习的过程当中也遇到很多问题,比如对于设计原则的理解很是不够,对于问题的化简,代码的设计不能迅速作出反应,需要花费很多时间,Java的学习看来还是远远不够。

  • 相关阅读:
    两列布局
    BFC布局
    iframe高度自适应(同域)
    iframe关于滚动条的去除和保留
    testng入门_单元测试
    Ionic学习笔记5_动态组件指令
    Ionic学习笔记4_ionic路由(页面切换)
    Ionic学习笔记3_ionic指令简单布局
    Ionic学习笔记1_基本布局
    Angularjs学习笔记11_手工初始化
  • 原文地址:https://www.cnblogs.com/2020zxc/p/13050535.html
Copyright © 2020-2023  润新知