首页 > 其他分享 >面向对象第二节---不带参数的方法

面向对象第二节---不带参数的方法

时间:2024-11-16 18:46:30浏览次数:3  
标签:return 变量 作用域 局部变量 --- 面向对象 第二节 返回值 方法

一.不带参数方法

1.方法的概念

  • 所谓方法其实就是指对象的行为

  • 方法是类的重要组成部分

  • 描述该对象的方法

2.方法的定义

  • public 返回值类型 方法名(){ //步骤一:定义方法名以及返回值

    //这里编写方法的主体 //步骤二:编写方法体

    }

  • 方法的返回值

    • 如果方法中有返回值,方法中必须使用关键字return返回该值,返回类型为该返回值的类型

      • 有返回值的在测试类里面需要接住,无返回值的可以直接调用

        • 在类里面接住的时候可以:假如这个是类里面的f1()方法

          String str = "吼叫";

          return str;

        • 在测试类里面接住:

          Dog dog = new Dog();

          String hj = dog.f1();

          syso(hj);

      • return后面的代码不会执行

    • 如果方法中没有返回值,返回类型为void

3.方法的调用

  • 语法:对象名.方法名();

  • 除了八大基本数据类型之外的所有数据类型的默认值为null

  • 方法之间允许相互调用,但是不能陷入死循环,比如,在吃饭的方法里面放了先爬树,不能再在爬树的方法里面再放吃饭了

  • 常见错误

    • 方法的返回值类型为void,方法中不能有return 返回值

    • 方法不能返回多个值

    • 多个方法不能相互嵌套定义

    • 不能再方法外部直接写程序逻辑代码,因为类方法里面只能有属性和方法

4.变量的作用域

  • 变量声明的位置决定变量作用域

  • 变量作用域确定可在程序中按变量名访问该变量的区域

  • 成员变量在类中声明,局部变量在方法中声明

  • 成员变量和局部变量的区别

    • 作用域不同

      局部变量的作用域仅限于定义它的方法

      成员变量的作用域在整个类内部都是可用的

    • 初始值不同

      Java会给成员变量一个初始值

      Java不会给局部变量赋予初始值

    • 在同一个方法中,不允许出现有同名局部变量,在不同的方法中,可以有同名局部变量

    • 成员变量与局部变量同名时,局部变量具有更高优先级

5.其他

  • 代码块的注释

    /**

    *

    */

  • 注释里面的@return是对返回值的解释

  • 在方法里,如果有返回值,必须加return,如果return在方法的条件判断里面,后面还需要加个return 0;啥的兜底

  • 抽奖代码:

    类:

    public class Pan{

    String[] list = {"一等奖","二等奖","三等奖","谢谢惠顾"}

    public String start(){

    Random rd = new Random();

    int i = rd.nextInt(list.length);

    return list[i];

    }

    测试类:

    Pan pi = new Pan();

    String str = pi.start();

    syso(str);

标签:return,变量,作用域,局部变量,---,面向对象,第二节,返回值,方法
From: https://blog.csdn.net/XWM_Web/article/details/143821411

相关文章

  • DM multipath总结---基于LINUX 7
    DMmultipath总结---基于LINUX7DMmultipath总结DMMultipath提供的功能:冗余:    DMMultipath能够在主动/被动配置下提供故障转移。在主动/被动配置下,只有一半的路径在每次进行I/O时会被使用。若一条I/O路径的任一元素(电缆、交换器或者控制器)出现故障,DMMultipat......
  • 20222407 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    1.实验内容1.1本周学习内容回顾Metasploit是一个功能强大的渗透测试框架,广泛应用于网络安全领域。它为安全专家、渗透测试人员和红队提供了一个全面的工具集,支持漏洞利用、攻击模拟和安全评估。Metasploit提供了丰富的攻击模块,涵盖了远程代码执行、服务拒绝、提权等多种攻击......
  • Github客户端工具github-desktop使用教程
    文章目录1.客户端工具的介绍2.客户端工具使用感受3.仓库的创建4.初步尝试5.本地文件和仓库路径5.1原理说明5.2修改文件5.3版本号的说明5.4结合码云解释5.5版本号的查找6.分支管理6.1分支的引入6.2分支合并6.3创建测试仓库6.4创建测试分支6.5合并分支6.6合并效果查看6.7......
  • MarkText使用教程-cnblog
    MarkText使用教程typora是需要付费的,就算使用破解版的,每次都要点....,可能有的时候不需要还是觉得不好找到开源的MarkText,个人觉得还是非常好用的使用的方法也和typora差不多的,用习惯了就好了下载安装首先我们要登录github,搜索Marktext但基本都会搜索到英文版的,对于......
  • 20222427 2024-2025-1 《网络与系统攻防技术》实验六实验报告
    1.实验内容1.1本周学习内容回顾使用了Metasploit框架,其是一个功能强大的渗透测试框架。在使用的过程当中,Metasploit提供了种类繁多的攻击模块,涵盖了远程代码执行、服务拒绝、提权等多种攻击方式,支持对多种操作系统和应用程序进行测试。除了漏洞利用,它还具备强大的后渗透功......
  • 【11.16T1 公路】 --时间复杂度的计算技巧
    给定\(n\)个点\(m\)条边的无向简单连通图,每条边有颜色\(c_i\),当第\(k\)次经过颜色为\(j\)的边时,需要花费\(k\cdotx_j\)的代价。求在经过边数最小的情况下,\(1\)到各个点的最短路\(n\le50,m\le\binom{n}{2},x_i\le10^4\)做法是简单的,直接处理出最短路\(DAG\)......
  • 逆向攻防世界CTF系列36-re4-unvm-me
    逆向攻防世界CTF系列36-re4-unvm-mepyc文件反编译发现自己用uncompyle6的结果不太对,转而用在线网站反编译:https://tool.lu/pyc/#!/usr/bin/envpython#visithttps://tool.lu/pyc/formoreinformation#Version:Python2.7importmd5md5s=[0x831DAA3......
  • 【全栈开发(TypeOrm-Javascript)学习笔记三】
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、EntityManager二、Repository三、Find选项四、自定义Repository五、EntityManagerAPI六、RepositoryAPI总结前言本章节主要了解typeOrm框架EntityManager和Repository,学习常见的s......
  • 《Django 5 By Example》阅读笔记:p165-p210
    《Django5ByExample》学习第6天,p165-p210总结,总计46页。一、技术总结1.bookmarks项目(1)登录认证作者这里使用的是Django自带的auth。(2)上传头像图片处理,使用Pillow。(3)扩展user扩展user模型与自带的user使用外键进行关联,命名为profile。二、英语总结(生词:4)1.def......
  • 20222315 2024-2025-1 《网络与系统攻防实验六实验》实验六实验报告
    1、实验内容本实践目标是掌握metasploit的用法。指导书参考Rapid7官网的指导教程。https://docs.rapid7.com/metasploit/metasploitable-2-exploitability-guide/下载官方靶机Metasploitable2,完成下面实验内容。(1)前期渗透①主机发现(可用Aux中的arp_sweep,search一下就可以use......