• Java基础第八天总结——面向对象(上)——属性和方法


    目录:

    1、面向过程与面向对象

    2、Java基本元素:类和对象

    3、对象的创建和使用

    4、类的成员之一:属性

    5、类的成员之二:方法

    /*------------------------黄金分割线---------------------------*/

    一、面向过程与面向对象

    面向过程(POP)与面向对象(OOP)

    POP:强调的是功能行为,考虑怎么做。

    OOP:将功能封装进对象,强调具备了功能的对象,考虑谁来做。

    面向对象的三大特征:

    封装

    继承

    多态

    二、Java语言的基本元素:类和对象

    类(Class)和对象(Object)是面向对象的核心概念。

    万事万物皆对象

    Java类及类的成员

    属性:对应类中的成员变量

    行为:对应类中的成员方法

    Field = 属性 =成员变量,Method = (成员)方法 = 函数

    类的语法格式:

    访问修饰符 class 类名{

      属性声明;

      方法声明;

    }

    说明:

    修饰符public可以被任意访问

    类的正文要用{}括起来

    创建Java自定义类

    步骤

    1、定义类(考虑修饰符、类名)

    2、编写类的属性(考虑修饰符、属性类型、属性名、初始化值)

    3、编写类的方法(考虑修饰符、返回值类型、方法名、形参等)

    创建对象的语法:类名 对象名 = new 类名();

    类的访问机制:

    在一个类中的访问机制:类中的方法可以直接访问类中的成员变量

    (例外:static方法访问非static,编译不通过)

    在不同类中的访问机制:先创建要访问的对象,再用对象访问类中定义的成员

    内存解析

    堆(Heap),此内存区域的唯一目的就是存放对象实例,几乎所有的对象实例都在这里分配内存。这一点在JAVA虚拟机规范中的描述是:所有的对象实例以及数组都要在堆上分配。

    栈(Stack),是指虚拟机栈。虚拟机栈用于存储局部变量等。局部变量存放了编译期可知长度的各种基本数据类型、对象应用(reference类型,它不等同于对象本身,是对象在堆内存的首地址)。方法执行完,自动释放。

    放法区(Method Area),用于存储已被虚拟机加载的类信息、常量、静态变量、即时编译器编译后的代码等数据。

    匿名对象

    可以不定义对象的句柄,而直接调用这个对象的方法。这样的对象叫做匿名对象。

    如:new Person().shout();

    使用情况

    如果对一个对象只需要进行一次方法调用,那么就可以使用匿名对象。

    我们经常将匿名对象作为实参传递给一个方法调用。

    四、类的成员之一:属性(field)

    语法格式:

    修饰符 数据类型 属性名 = 初始化值;

    说明1:修饰符

    常用修饰符:private、缺省、protected、public

    其他修饰符:static、final

    说明2:数据类型

    任何基本数据类型或任何引用数据类型

    说明3:属性名

    属于标识符,符合命名规则和规范即可(见名知意)

    变量的分类:成员变量与局部变量

    在方法体外,类体内声明的变量成为成员变量。

    在方法体内部声明的变量成为局部变量。

    注意:二者在初始化值方面的异同

    同:都有声明周期

    异:局部变量除形参外,均需显式初始化。

    成员变量(属性)和局部变量的区别?

     

     五、类的成员之二:方法(Method)

    将功能封装为方法的目的是,可以实现代码重写,简化代码

    java里的方法不能独立存在,所有方法必须定义在类里

    方法的声明格式:

    修饰符 返回值类型 方法名(参数类型 形参1,参数类型 形参2,...){

    方法体程序代码

    return 返回值;

    }

    其中:

    返回值类型:

    没有返回值:void

    有返回值,声明出返回值的类型。与方法体中“return返回值”搭配使用。

    方法名:属于标识符,命名遵循见名知意

    形参列表:可以是0个或多个

    返回值:方法执行完毕返回给调用它的程序的数据

    方法的分类:按照是否有形参及返回值

     方法的调用

    注意:

    方法通过方法名被调用,且只有被调用才会被执行。

    调用一次就会被执行一次

    没有具体返回值的情况,返回值类型用关键字void表示,那么方法体重可以不必使用return语句。如果使用,仅用来结束方法。

    定义方法的时候,方法的结果应该返回给调用者,交由调用者处理

    方法只能调用方法或属性,不可以在方法内部定义方法。

    拓展:

    获取 [a,b] 范围的随机数公式:
    (int)(Math.random() * (b - a + 1) + a)
    例如:[ 表示闭区间
    [10,99] = (int)(Math.random() * (99 - 10 + 1) + 10)

  • 相关阅读:
    vscode配置c++以及美化插件
    自适应辛普森积分法
    [SDOI2014]数表
    [JSOI2009]等差数列
    MUI的踩坑笔记
    笔记:《吴恩达机器学习》——网易云课堂课程[绪论+单变量线性回归]
    CocoStuff—基于Deeplab训练数据的标定工具【五、训练成果分析】
    CocoStuff—基于Deeplab训练数据的标定工具【四、用该工具标定个人数据】
    CocoStuff—基于Deeplab训练数据的标定工具【三、标注工具的使用】
    CocoStuff—基于Deeplab训练数据的标定工具【二、用已提供的标注数据跑通项目】
  • 原文地址:https://www.cnblogs.com/zhoutie170821/p/11772393.html
Copyright © 2020-2023  润新知