zoukankan      html  css  js  c++  java
  • 尚学堂 JAVA DAY12 概念总结

    面向过程和面向对象的区别。(5 分)
    面向过程就好像:一位父亲吩咐自己8岁的小儿子去买啤酒。
    他需要考虑儿子从出门后的每一个步骤,叮嘱儿子出门怎么走,如何过马路,到了超市如何找到酒水区,怎么识别需要的品牌,最后去哪里找收银员付账,付账时要注意找零不要出错,回来时过马路要等红绿灯等等各种细节都需要一一考虑到;
    面向对象就像:还是这位父亲10年后吩咐18岁的儿子再去买啤酒。
    这一次,他只说了一句,儿子今晚我们喝青岛啤酒,去买点儿回来。18岁的儿子10分钟不到就买回来了啤酒。
    因此可以认为:面向过程是以一种过程的思维处理问题;面向对象着眼于宏观面,只关注问题的结果,而不再需要处理问题面下的微观细节。但是二者又是相辅相成紧密联系,面向对象是建立在面向过程的基础上,如同一个人由未成年时买啤酒的踽踽独行,到走向成年后买啤酒的游刃有余,面向对象是由面向过程逐渐演变发展而来的。同时,现在很多面向对象的问题在处理细节时,仍然需要采用面向过程的方式。

    2.类和对象的关系
    类和对象就在生活中随处可见。
    如:人 是一个类,而美国总统欧巴马是 人 这个类的一个对象;美国著名演员布拉德皮特也是 人 这个类的一个对象;历史上的巨人 牛顿 也是 人 这个类的一个具体对象;人类历史长河中每一个具名的人都是 人 这个类的具体对象。
    而 人 这个类是对这些所有具体对象的共同特征的一个抽象,有共同的静态属性如:肤色、国籍、年龄、直立行走的动物、情商、智商等等;还有一些共同的动态属性:说话、学习、唱歌、跳舞等等。
    即:类是对一些具有共同特征的具象实物的抽象概括;
    对象则这个类下的一个个具体的实物。

    3. 构造方法的作用和特征
    构造方法的作用:给对象赋初始值;
    特征:
    1)和类名完全一致;
    2)构造方法不能写返回值;
    3)当类中没有显示提供无参构造方法时,系统将默认提供一个无参的构造方法;
    4)当有重载的构造方法时,系统将不再提供无参数的构造方法,创建对象时,如果用到了无参数的构造方法,则需要程序员在该类中显式的提供一个无参的构造方法;
    5)一个类中至少有 1 个构造方法。

    4.this 关键字的作用和用法
    1)this关键字的作用:
    当成员变量与局部变量重名时,需要用this关键字来确定成员变量。
    2)this关键字的用法:
    成员变量前加this,表示当前对象的成员变量。
    在类中调用成员方法时,this可以省略;当方法中不存在与成员变量同名的局部变量时,成员变量前的this也可以省略。
    使用this调用构造方法时,该语句只能是第一条语句;
    而且只能通过this调用构造方法一次。

    5. 简述 static 关键字的作用。
    Static 关键字可以用来修饰成员变量、方法、代码块、内部类以及import 包。
    1.static变量
    1)static变量只能是成员变量
    2)static变量是所有对象共同拥有的一个变量,在类第一次被加载时创建,且只创建一次。
    3)static变量被分配在方法区的一块内存中
    4)static变量可以被非static方法访问,访问方式:类名.变量名或者对象名.变量名。
    2.static方法
    1)static方法的作用是访问并操作静态成员,包括静态方法和静态变量
    2)static方法的访问方式:类名.方法名() 或者 对象名.方法名()
    3)在static方法中,不可以使用this关键字,也不可以访问非静态的成员,包括非静态的成员变量和非静态的方法,原因是:在static方法访问非静态的成员时,其有可能在内存中尚未被分配空间,即非静态成员在创建时间上晚于静态成员。
    4)在非静态的方法中,可以访问静态的成员,包括静态成员变量和静态方法,原因是:静态的成员在创建时间上要早于非静态成员。
    3.static代码块
    1)静态代码块可以有1个或者多个;
    2)静态代码块会在类第一次被加载时被执行,且只执行一次,执行顺序是自上而下依次顺序进行,若其被定义在构造方法之前,那么它也会在构造方法之前执行;
    4)在静态代码块中可以访问当前类中所有的成员;
    5)语法作用是 给静态变量赋初始值,调用静态方法;
    4.static import语句
    由static修饰import语句时,导入的是某个类中的所有静态成员变量和静态方法;
    5.static修饰内部类,还没学,后续补充。

     

  • 相关阅读:
    跨库查询数据
    使用StringBuilder与SqlParameter
    sql 循环 随机数创建数据
    sql like N'%...%' 在C#里的写法
    Html 空格与换行
    Python之随机数
    C#之使用随机数
    C#之ArrayList
    Unity之读取本地图片
    GAN(Generative Adversarial Nets)的发展
  • 原文地址:https://www.cnblogs.com/nora-xie/p/5671626.html
Copyright © 2011-2022 走看看