对象和方法

对象和方法

对象(万事万物皆对象)

  • 将功能、结构等封装在类中,通过类的实例化,来调用具体的功能结构
  • 涉及到Java语言与前端(HTML)、后端的数据库交互时,前后端的结构在Java层面交互时,都体现为类、对象

匿名对象

  • 建的对象没有赋给变量名
  • 匿名对象只能调用一次

方法

定义

描述类具有的功能

声明

权限修饰符 返回值类型 方法名(形参列表){方法体}

public void eat(){}

public void sleep(int hour){}

public String getName(){}

public String getNation(String nation){}

分类

  • 是否带形参:括号内部是否有参数
    • 无形参:void 方法名(){}
    • 有形参:void 方法名(形参列表){}
  • 是否有返回值
    • void:没有返回值

      无返回值:void 方法名(){}

    • 有返回值:返回值类型 方法名(){}

说明

权限修饰符(4种)

  • private(私有的)
  • public
  • protected
  • 缺省

返回值类型

有返回值VS无返回值

  • 有返回值

    必须在方法声明时,指定返回值类型

    return关键字来返回指定类型的变量或常量

  • 无返回值

    方法声明时使用void来表示

    通常没有返回值的方法中就不需要使用return;如果使用,只能return;,表示结束方法的意思

方法名

  • 标识符,遵循标识符的规则规范
  • 见名知意

形参列表

  • 方法可以声明0个或多个形参
  • 格式
    数据类型1 形参1,数据类型2 形参2.......

方法体

方法功能的主要体现

return 关键字

  • 使用在方法体中

  • 作用

    1. 结束方法
    2. 针对有返回值类型的方法,使用 return 数据 返回所要数据
  • return关键字后不可以有执行语句

注意

  1. 方法内可以调用当前类的属性、方法
    • 通常时方法A中调用方法B
    • 特殊时方法A中又调用方法A-------递归
  2. 方法中不可以定义方法

方法的重载

概念

在同一个类中,允许存在一个以上的同名方法,只要他们的参数个数或参数类型不同

特点

  1. 与返回值类型无关
  2. 与方法的权限修饰符无关
  3. 与方法的形参变量名无关
  4. 与方法体无关

调用指定方法

通过对象调用方法的时候,通过方法名(参数列表)来确定具体调用的方法

可变个数的形参

类似于数组的不同表现方式​

格式

数据类型 ... 变量名

String ... strs

注意

  1. 当调用时,传入的参数个数可以是:0,1,2,3,.......n
  2. 可变个数形参方法与本类中方法名相同,形参不同的方法之间构成重载
  3. 与本类中方法名相同,形参不同的数组方法之间不能构成重载
  4. 遍历的方法与数组相同
  5. 可变个数形参在方法的形参中,必须声明在末尾

形参int i,String ... stu正确;string ... stu,int i错误

  1. 可变个数形参在方法的形参中,最多只能声明一个形参

方法参数值的传递机制

关于变量的赋值

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

形参和实参

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

递归方法

  1. 一个方法体内调用它自身
  2. 无需循环控制去执行某段代码
  3. 一定要向已知方向递归,否则这种递归就变成了无穷递归,类似死循环
posted @ 2020-06-22 17:03  南煎丸子  阅读(387)  评论(0)    收藏  举报