栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

JavaSE——第7章 面向对象编程(基础部分)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaSE——第7章 面向对象编程(基础部分)

JavaSE——第7章 面向对象编程(基础部分)(老师:韩顺平) 7.1 类和对象

万物皆对象

7.1.8 类和对象的区别和联系
  • 类是抽象的,概念的,代表一类事物,比如人类,猫类…, 即它是数据类型。
  • 对象是具体的,实际的,代表一个具体事物, 即实例
  • 类是对象的模板,对象是类的一个个体,对应一个实例‘
7.1.10 属性/成员变量/字段(一个东西)
  • 属性是类的一个组成部分,一般是基本数据类型,也可以是引用类型

注意事项和细节说明

  • 属性的定义语法同变量
  • 属性的定义类型可以为任意类型,包含基本和引用
  • 属性如果不赋值,有默认值,规则和数组一致
7.1.11 如何创建对象
  • 先声明再创建

    Cat cat;

    cat = new Cat();

  • 直接创建

    Cat cat = new Cat()

7.1.12 如何访问属性

基本语法:对象名.属性名

7.1.13 类和对象的内存分配机制
  • Java内存的结构解析
    • 栈:一般存放基本数据类型(局部变量)
    • 堆:存放对象(Cat、数组等)
    • 方法区:常量池(常量),类加载信息
7.2 成员方法 7.2.5 成员方法的好处
  • 提高代码复用性
  • 可以将实现的细节封装起来,然后供其他用户来调用
7.2.6 成员方法的定义

访问修饰符 返回数据类型 方法名(形参列表…){

​ /方法体语句;
​ return 返回值;
}

  • 形参列表:表示成员方法输入cal(int n) ,getSum(int num1, int num2)
  • 返回数据类型:表示成员方法输出, void表示没有返回值
  • 方法主体:表示为了实现某一功能代码块
  • return语句不是必须的
7.2.7 注意事项和使用细节
  • 访问修饰符 → 控制方法的使用范围

  • 返回数据类型

    • 一个方法最多有一个返回值 【返回多个结果 → 数组】
    • 返回类型可以为任意类型,包含基本类型或引用类型(数组,对象)
    • 如果方法要求有返回数据类型,则方法体中最后的执行语句必须为 return 值; 而且要求返回值类型必须和 return 的值类型一致或兼容
    • 如果方法是 void,则方法体中可以没有 return语句或者只写return;
  • 方法名

    驼峰命名法

  • 形参列表

    • 可0可多
    • 参数类型为任意类型
    • 调用带参方法时,一定对应着参数列表传入相同类型或兼容类型的参数
    • 方法定义 → 形参,方法调用传入的 → 实参
  • 方法体

    方法不能嵌套定义

    完成功能的具体语句

7.3.1 基本数据类型的传参机制

基本数据类型,传递的是值(值拷贝),形参的任何改变不影响实参

7.3.2 引用数据类型的传参机制

引用类型传递的是地址(传递也是值,但是值是地址),可以通过形参影响实参

7.3.3 成员方法返回类型是引用类型 7.4 方法递归调用 7.4.1 基本介绍

递归就是方法自己调用自己,每次调用时传入不同的变量.递归有助于编程者解决复杂问题,同时可以让代码变得简洁

7.4.4 递归重要规则
  • 执行一个方法时,就创建一个新的受保护的独立栈空间
  • 方法中的局部变量时独立的,不会相互影响
  • 如果方法中使用的是引用类型变量,会共享数据
  • 递归必须向退出递归的条件逼近
7.5 方法重载

Java中允许同一个类中,多个同名方法存在,但要求形参列表不一致

7.5.2 重载的好处
  • 减轻了起名的麻烦
  • 减轻了记名的麻烦
7.5.4 注意事项和使用细节
  • 方法名必须相同
  • 形参列表:必须不同(形参类型或个数或顺序,至少有一样不同)
  • 返回类型无要求
7.6 可变参数

java 允许将同一个类中多个同名同功能但参数个数不同的方法,封装成一个方法。
通过可变参数实现

7.6.2 基本语法

访问修饰符 返回类型 方法名(数据类型… 形参名) {
}

public int sum(int… nums)

int… 表示接受的是可变参数,类型是 int ,即可以接收多个 int(0-多)
使用可变参数时,可以当做数组来使用 即 nums 可以当做数组

7.6.4 注意事项和使用细节
  • 可变参数的实参可以为0个或任意多个
  • 可变参数的实参可以为数组
  • 可变参数的本质就是数组
  • 可变参数可以和普通类型的参数一起放在形参列表,但必须保证可变参数在最后
  • 一个形参列表中只能出现一个可变参数
7.7 作用域

分类:

  • 全局变量
  • 局部变量

全局变量可以不赋值,直接使用,因为有默认值,局部变量必须赋值后才能使用,因为没有默认值

7.7.2 注意事项和细节使用
  • 属性和局部变量可以重名,访问时遵循就近原则

  • 在同一个作用域中,两个局部变量不能重名

  • 属性生命周期较长,伴随着对象的创建而创建,伴随着对象的销毁而销毁。局部变量,生命周期较短,伴随着它的代码块的执行而创建,伴随着代码块的结束而销毁。即在一次方法调用过程中。

  • 作用域范围不同
    全局变量/属性:可以被本类使用,或其他类使用(通过对象调用)

    局部变量:只能在本类中对应的方法中使用

  • 修饰符不同
    全局变量/属性可以加修饰符

    局部变量不可以加修饰符

7.8 构造方法/构造器 7.8.2 基本语法

[修饰符] 方法名 (形参列表){
方法体;
}

  • 构造器的修饰符可以默认,也可以是public protected private
  • 构造器没有返回值
  • 方法名和类名字必须一样
  • 参数列表和成员方法规则一样
  • 构造器的调用,由系统完成
7.8.3 基本介绍

构造方法又叫构造器(constructor),是类的一种特殊的方法,它的主要作用是完成对新对象的初始化。

特点:

  • 方法名和类名相同
  • 没有返回值
  • 在创建对象时,系统会自动的调用该类的构造器完成对象的初始化。
7.8.5 注意事项和使用细节
  • 一个类可以定义多个不同的构造器,即构造器重载
  • 构造器名和类名要相同
  • 构造器没有返回值
  • 构造器是完成对象的初始化,并不是创建对象
  • 在创建对象时,系统自动的调用该类的构造方法
  • 如果程序员没有定义构造器,系统会自动给类生成一个默认无参构造器(也叫默认构造器),比如 Dog (){},使用javap指令反编译看看
  • 一旦定义了自己的构造器,默认的构造器就覆盖了,就不能再使用默认的无参构造器,除非显式的定义一下即:Dog(){}写
7.9 对象创建的流程分析
  • 加载类信息,只会加载一次
  • 在堆中分配空间(地址)
  • 完成对象初始化
  • 将对象在堆中的地址,返回给对象的引用
7.10 this关键字

JVM会给每个对象分配this,代表当前对象

7.10.3 this的注意事项和使用细节
  • this 关键字可以用来访问本类的属性、方法、构造器
  • this 用于区分当前类的属性和局部变量
  • 访问成员方法的语法:this.方法名(参数列表);
  • 访问构造器语法:this(参数列表); 注意只能在构造器中使用(即只能在构造器中访问另外一个构造器, 必须放在第一条语句)
  • this 不能在类定义的外部使用,只能在类定义的方法中使用。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1012435.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号