zoukankan      html  css  js  c++  java
  • 面向对象---2

    变量的值传递:
    规则:不管时基本数据类型,还是引用数据类型,变量本身存储什么值,就传递什么值。

    形参:声明方法时,小括号内定义的变量,称为形参
    实参:调用方法时,给形参赋的值。

    方法的参数传递机制:值传递!!!
    》如果形参是基本数据类型,则将基本数据变量存储的数据传递给形参(参数列表中的参数)
    》如果形参是引用数据类型,则将引用数据类型变量的地址值赋给形参。

    递归:
    一个方法体内调用它自身;
    递归方法包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无须循环控制。
    递归一定要向已知方向递归,否则这种递归就变成了无穷递归,类似于死循环。

    面向对象的特征一:封装与隐藏
    1.封装性设计的由来
    创建了类的对象以后,我们可以使用“对象.属性”方式调用或者设置属性的值。在赋值时,要求考虑到考虑到变量的数据类型和储值范围。但是我们在实际问题中,需要额外的给属性赋值时,加入限制条件。这些限制条件不可能在变量声明时做添加,我们只能通过在方法中给变量赋值,同时添加限制条件。我们应该禁止客户通过“对象.属性”的方式调用和改变属性的值。所以需要我们添加设置属性值以及获取属性值的两个方法。
    2.狭义上的封装性体现:
    》将类的属性私有化,同时提供公共的get和set方法来获取和设置此属性。
    3.广义上的封装性体现:
    》Java规定的4中权限修饰:private《default(缺省)《protected《public,修饰相应地结构,使这个结构被调用时,可见性的大小。
    4中权限可以修饰类内部的成员:属性、方法、构造器、内部类
    类本身可以使用2种权限修饰:缺省、public

    同一个包下不能定义相同的类。

    任何地方:指本项目工程内。

    类的成员之三:构造器(构造方法)Constructor
    1.构造器的作用:创建类的对象;初始化对象的属性。
    2.说明:
    》如果我们没有显式的提供类的构造器的话,则系统会给一个类提供默认的构造器,无参数的。
    》如果我们显式的声明类的构造器的话,格式为:权限修饰符 类名(形参列表){}
    》同一个类中的多个构造器之间构成重载。
    》如果我们显式的提供了类的构造器,则系统不再提供默认的空参的构造器。
    》Java的类中一定存在构造器。

    类的属性的赋值的先后顺序:
    》属性的默认初始化
    》属性的显式初始化
    》构造器中给属性初始化
    》通过“对象.方法”或“对象.属性”的方法,给属性赋值。
    说明:上述的操作前三种在执行中只调用依次,最后一个可以根据用户需求多次调用。

    封装性思想具体体现的代码实现:
    》私有化类的属性,提供公共的set和get方法取设置和访问。
    》类中提供私有的方法,表面此方法只能在类内部被调用。
    》如果此类只希望在本包中被调用,则可声明为缺省状态。
    》单例模式。

    关键字:this的使用
    1.理解为:当前对象或当前正在创建的对象。
    2.适用范围:this可以使用在方法或构造器的内部。
    3.可以调用的结构:属性、方法;构造器
    4.在方法种使用this:
    我们可以在方法内,调用当前类的属性或方法,属性或方法前可以使用“this.”的方式,表明调用的是当前对象的属性或方法,通常情况下,我们都习惯胜省略此this关键字。
    但是,如果方法的形参和类的属性名相同了,则必须使用“this.变量”的方式,表明我们调用的变量是当前对象的属性,而非形参。
    5.在构造器中使用this:
    我们可以在构造期内,调用当前类的属性或方法,属性或方法前可以使用“this.”的方式,表明当前调用的是当前正在创建的对象的属性或方法,通常情况下,我们都习惯省略此this关键字。
    但是,如果构造器的形参和类的属性名相同,则必须使用“this.变量”的方式,表明我们调用的变量是当前正在创建的对象的属性,而非形参。
    6.this来调用构造器:
    》我们可以在构造器中使用“this(形参列表)”方式,调用当前类中的指定构造器。
    》构造器中不可以使用“this(形参列表)”方式调用本身的构造器。
    》如果类中声明了n个构造器,则最多可以有n-1个构造器中使用了“this(形参列表)”方式调用其他构造器。
    》规定:要求将“this(形参列表)”声明在构造器的首行。
    》一个构造器中最多声明一个“this(形参列表)”。

    关键字:package和import两个关键字的使用:

    1.package包
    2.作用:使用包的概念来区分不同类的功能。换句话说,将相同结构或类型的类放在相同的包中,便于管理。
    3.package声明在源文件的首行。
    4.命名规范:xxx.uuu.iii
    5.每一个.代表一层文件目录。

    》import
    1.import:导入
    2.我们可以在源文件中使用import显式的导入指定包下的类或接口
    3.声明位置:通常声明在package包声明和类文件之间。
    4.如果使用的类或接口是当前包下的,则可以省略导包。
    5.如果使用的类或接口是java.lang包下的,则也可以省略import的操作。
    6.如果需要导入多个结构,则并列声明即可。
    7.可以使用“包名1.*”的方式,导入包名1下的所有结构。
    8.如果类中出现了不同包下的同名的类,则至少有一个需要使用全类名的方式进行调用,即“包名.类名”。
    9.import static:导入指定包下的指定类或接口中的静态结构。
    10.如果导入了a包下的所有结构,则如果需要导入a包的子包的结构的话,仍需要import操作。

  • 相关阅读:
    [转]JavaScript和html5 canvas生成圆形印章
    [转]微信小程序开发:http请求
    [转]Clean up after Visual Studio
    [转]How to Clean the Global Assembly Cache
    [转].NET Core dotnet 命令大全
    [转].NET 4.5+项目迁移.NET Core的问题记录 HTTP Error 502.5
    [转]How do I run msbuild from the command line using Windows SDK 7.1?
    [转]glyphicons-halflings-regular字体 图标
    [转]程序集之GAC---Global Assembly Cache
    [转]How can I install the VS2017 version of msbuild on a build server without installing the IDE?
  • 原文地址:https://www.cnblogs.com/1185937986-jili/p/12832696.html
Copyright © 2011-2022 走看看