zoukankan      html  css  js  c++  java
  • java-面向对象(一)

    一、Java面向对象学习的三条主线:

    1.Java类及类的成员:属性、方法、构造器;代码块、内部类
    2.面向对象的三大特征:封装性、继承性、多态性。(抽象性)
    3.其他关键字:this、super、static、final、abstract、interface、package、import等。

    二、“人把大象装进冰箱”

    1.面向过程:强调的时功能行为,以函数为最小单位,考虑怎么做。
    2.面向对象:强调具备了功能的对象,以类/对象为最小单位,考虑谁来做。

    三、面向对象的两个要素:

    类:对一类事物的描述,是抽象的、概念上的定义
    对象:是实际存在的该类事物的每个个体,因而也称为实例(interface)

    二者关系:对象,是有类new出来的,派生出来的。

    面向对象程序设计的重点是类的设计
    设计类,就是设计类的成员。

    属性 = 成员变量 = field = 域、字段
    方法= 成员方法 = 函数 = method
    创建类的对象 = 类的实例化 = 实例化类

    四、面向对象思想落地的实现

    1.创建类,设计类的成员
    2.创建类的对象
    3.通过“对象.属性”或“对象.方法”调用对象结构

    属性(成员变量) vs 局部变量

    1.相同点:

    定义变量的格式:数据类型 变量名 = 变量值
    先声明,后使用
    变量都有其对应的作用域

    2.不同点:

    在类中声明的位置不同

    属性:直接定义在类的一对{}内
    局部变量:声明在方法内、方法形参、代码块内、构造器形参、构造器内部的变量

    关于权限的修饰符不同

    属性:可以在声明属性时,指明其权限,使用权限修饰符(private、public、缺省、protect等)
    局部变量:不可以使用权限修饰符

    默认初始化值的不同

    属性:类的属性,根据其类型,都有默认初始化值。

    整型(byte、short、int、long):0
    浮点型(float、double):0.0
    字符型(char):0(u0000)
    布尔型(boolean):false
    引用数据类型(类、数组、接口):null
    局部变量:没有默认初始化值,意味着我们在调用局部变量之前,一定要显示赋值。
    特别的:形参在调用时,我们赋值即可。

    在内存加载的位置不同

    属性:加载到堆空间中(非static)
    局部变量:加载到栈空间中

    五、类中方法的声明和使用。

    方法:描述类应该具有的功能

    举个栗子

    返回值类型:

    如果方法有返回值,则必须在方法声明时,指定返回值的类型。同时方法中,需要使用return关键字来返回指定类型的变量或常量:“return 数据”
    如果方法有返回值,则声明方法时,使用void来表示。通常,没有返回值的方法中,就不使用return。但是如果使用的化,只能“return;” 表示结束此方法的意思

    形参列表:方法可以声明0个,1个,或多个形参。

    格式:数据类型1 形参1,数据类型2 形参2,...

    六、理解万事万物皆对象

    1.在Java语言范畴中,我们都将功能、结构等封装到类中,通过类的实例化,来调用具体的功能结构

    Scanner,string等
    文件:File
    网络资源:URL

    2.涉及到Java语言与前端Html、后端的数据库交互时,前后端的结构在Java层面交互时,都体现为类、对象

    七、内存解析的说明

    引用类型的变量,只能储存两类值:null 或 地址值(含变量的类型)

    八、匿名对象的使用

    1.理解:我们创建的对象,没有显式的赋给一个变量名。即为匿名对象

    2.特征:匿名对象只能调用一次

    九、方法的重载

    1.定义:在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或者参数类型不同即可。

    2.如:Arrays类中重载的sort()/binarySearch()

    方法名:---> 重载列表

    3.可变个数形参的方法

    1.jdk 5.0新增的内容
    2.具体使用:

    可变个数形参的格式:数据类型 ... 变量名
    当调用可变个数形参的方法时,传入的参数可以是0个到多个。
    当可变个数形参的方式与本类中的方法名相同,形参不同的方法之间构成重载
    当可变个数形参的方式与本类中的方法名相同,形参类型也相同的数组不能构成重载,二者不共存
    可变个数形参在方法的形参中,必须声明在末尾,最多只能声明一个可变形参。

    十、方法参数的值传递机制

    关于变量的赋值:

    如果变量是基本数据类型,此时赋值的是变量所保存的数据值。
    如果变量是引用数据类型,此时赋值的是变量所保存的数据的地址值。

    方法的形参的传递机制:值传递

    形参:方法定义时,声明的小括号内的参数
    实参:方法调用时,实际传递给形参的数据

    值传递机制:

    如果参数是基本数据类型,此时实参赋给形参的是实参真实存储的数据值。
    如果参数是引用数据类型,此时实参赋给形参的是实参真实存储的数据的地址值。

    十一、递归方法

    递归方法:一个方法体内调用它自身

    方法递归包含了一种隐式的循环,它会重复执行某段代码,但这种重复执行无需循环控制。

    public int getSum(int n) { //计算1-n之间所有自然数的乘积
    
        if (n == 1) {
            return 1;
        } else {
            return n * getSum(n - 1);
        }
    }
  • 相关阅读:
    mysql常用基本命令
    mysql8.0.13下载与安装图文教程
    k8s ingress 增加跨域配置
    Jenkins 备份恢复插件 thinBackup 使用
    k8s HA master 节点宕机修复
    nginx 跨域问题解决
    mongodb 3.4.24 主从复制
    k8s 线上安装 jenkins并结合 jenkinsfile 实现 helm 自动化部署
    k8s helm 运用与自建helm仓库chartmuseum
    centos6 源码安装 unzip
  • 原文地址:https://www.cnblogs.com/nnadd/p/12357451.html
Copyright © 2011-2022 走看看