当前位置: 首页 > news >正文

【Java】P8 面向对象(3)方法 基本知识

面向对象 方法

  • 方法
  • 方法的声明
    • 权限修饰符
    • 返回值类型
    • 方法名
    • 形参列表
    • 方法体
  • 简单案例


方法

  • 方法 是对类或对象行为特征的抽象,用来完成某个功能的操作。
  • 方法的目的 是为了实现代码复用,减少冗余,简化代码;
  • 方法不能独立存在,所有方法必须定义在类中;

方法的声明

public void eat()
public void sleep(int hour)
public String interests(String hobby)
public int getAge()

格式:

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

权限修饰符

四种权限修饰符(具体内容到封装性内容阐述)

private \ 缺省 \ protected \ public

返回值类型

调用完此方法后,是否需要返回一个结果。如果需要返回一个结果:

无返回值类型:void
有返回值类型:可以是基本数据类型,也可以是引用数据类型;需要在方法内部使用 return 返回;

e.g.e.g.e.g. 无返回值类型:

public void sleep(int hour) {System.out.println("人每天至少睡眠" + hour + "小时")
}

e.g.e.g.e.g. 有返回值类型:

public String interests(String hobby) {String info = "我的爱好是" + hobby;System.out.println(info);return info;
}

方法名

方法名是用来标识一个方法的字符串标识符。由一系列的字母、数字和下划线字符组成的,组成规则如下:

1. 方法名以一个小写字母开头,遵循驼峰命名法,例如:getFirstName()2. 方法名应该能够清晰地表达方法的用途和行为,最好”见名知意“。3. 方法名最好具有一定的动词性质,以便能够清晰地表达方法所执行的操作。例如,calculateInterest()、printMessage()。4. 方法名应该尽可能地简洁明了,避免使用过于冗长或复杂的名称,以提高代码的可读性和可维护性。

形参列表

Java中的方法可以包含一个或多个参数,这些参数被定义在方法的形参列表中。

格式:

(形参类型1 形参1, 形参类型2 形参2, ... , 形参类型n 形参n)

分类:

无形参列表;
有形参列表;
// 感觉没啥好说的,上例子:

e.g.e.g.e.g. 有形参列表:

public void sayHello() {System.out.println("Hello");
}

e.g.e.g.e.g. 无形参列表:

public int sum(int a, int b) {return a + b;
}

方法体

在Java中,方法体是方法的主体部分,它包含了一组执行代码和逻辑的语句,用于完成方法所需的具体功能。

需要注意的是,Java中的方法体不允许直接声明全局变量。如果需要在多个方法中共享变量,可以将变量声明为类的成员变量。

需要注意的几点:

1. Java中方法不能独立存在,所有的方法必须定义在类中;
2. 方法内可以调用其他方法或属性;
3. 方法内不能定义方法;

简单案例

一个带有接收返回值的完整简单案例:

public class Person {public void eat() {System.out.println("人吃饭");}public void sleep(int time) {System.out.println("人每天至少睡觉" + time + "小时");}public String interests(String hobby){String info = "我的爱好是" + hobby;return info;}
}
public class MethodTest {public static void main(String[] args) {Person p1 = new Person();p1.eat();p1.sleep(8);String info = p1.interests("编程");System.out.println(info)}
}
http://www.lryc.cn/news/40639.html

相关文章:

  • js中null和undefined的区别
  • 【Linux】linux中的c++怎么调试?gdb的介绍和使用。
  • 提升Python代码性能的六个技巧
  • VI的常用命令
  • 【数据结构】万字深入浅出讲解单链表(附原码 | 超详解)
  • 无线WiFi安全渗透与攻防(五)之aircrack-ng破解WEP加密
  • MySQL中事务的相关问题
  • 推荐算法再次踩坑记录
  • STM32 (十五)MPU6050
  • 使用yarn,依赖报各种错误怎么办
  • 面试官:rem和vw有什么区别
  • 【GPT-4】GPT-4 相关内容总结
  • 5.springcloud微服务架构搭建 之 《springboot集成Hystrix》
  • 【工作中问题解决实践 七】SpringBoot集成Jackson进行对象序列化和反序列化
  • 香港服务器遭受DDoS攻击后如何恢复运行?
  • 【Hive】配置
  • IP-GUARD如何强制管控电脑设置开机密码要符合密码复杂度?
  • 剑指 Offer II 031. 最近最少使用缓存
  • 44岁了,我从没想过在CSDN创作2年,会有这么大收获
  • 相位相参信号源的设计--示波器上的信号不稳定,来回跑?
  • Spring Boot 整合 RabbitMQ 多种消息模式
  • node多版本控制
  • Redis set集合
  • 漫画:什么是希尔排序算法?
  • 问卷工具选择要看哪些方面?
  • Qt之QPainter绘制多个矩形/圆形(含源码+注释)
  • 介绍两款红队常用的信息收集组合工具
  • 类ChatGPT国产大模型ChatGLM-6B,单卡即可运行
  • vue的diff算法?
  • C++ | 对比inline内联函数和宏的不同点