Java基础——方法

Java基础6【方法】 实际上设计一个合理的方法,需要重点关注下面两点设计一个合理的方法的原则如下:★★★★★如果方法不需要返回数据,返回值类型必须申明成void(无返回值申明), 此时方法内部不可以使用return返回数据。方法如果不需要接收外部传递进来的数据,则不需要定义形参,且调用方法时也不可以传数据给方法。没有参数,且没有返回值类型(void)的方法,称为值无参数、无返回值方法。此时调用方法时不能传递数据给方法。接下来我们看几个案例代码,练习根据实际需求定义出合理的方法。 阅读详情

方法是类或对象的行为特征的抽象,方法是类或对象最重要的组成部分。方法在逻辑上要么属于类,要么属于对象。如果是static方法,则该方法属于类;否则属于类的实例。

需要注意的是:同一个类的一个方法调用另外一个方法时,如果被调用方法是普通方法,则默认使用this作为调用者;如果被调用方法是静态方法,则默认使用类作为调用者。也就是说,所有方法都必须使用“对象.方法”或者“类.方法”的形式调用,而同一个类内的方法之间的调用,可以用this,也可以省略this不写,是隐式的。一个类之内的方法调用,可以调用static方法,也可以调用private方法

为了能够更好的理解static方法,类内方法的调用,static方法内调用非静态方法的结果,写了一个小程序,仅供参考

 

import java.util.*;
public class Student
{
	private String name;
	private String gender;
	private String phone;
	private String address;
	private String email;
	private int age=0;

public void setter()//接收用户输入
	{
		Scanner scan = new Scanner(System.in);
		System.out.println("please enter name:");
		this.name = scan.nextLine();
		System.out.println("please enter gender:");
		this.gender = scan.nextLine();
		System.out.println("please enter phone:");
		this.phone = scan.nextLine();
		System.out.println("please enter address:");
		this.address  = scan.nextLine();
		System.out.println("please enter mail:");
		this.email = scan.nextLine();
		System.out.println("please enter age:");
		this.age = scan.nextInt();
		getter();//调用private方法,在同一个类内调用其他方法可以不用this前缀,但是实际上是有this的
		kaka();//调用static方法
		//search();
	}

	public void setter(String name,String gender,String phone,String address,String email,int age)
	{
		this.name=name;
		this.gender=gender;
		this.phone=phone;
		this.address=address;
		this.email=email;
		this.age=age;
		System.out.println("setter running...");
	}

	private void getter()//输出方法
	{
		System.out.println("getter running...");
		System.out.println("your information is:");
		System.out.println("name\tgender\tage\tphone\t\taddress\t\t\tmail");
		System.out.println(name+"\t"+gender+"\t"+age+"\t"+phone+"\t"+address+"\t\t"+email);
	}

public void search()//查找方法,功能暂时未实现
	{
		System.out.println("please enter name,email or address for looking somebody:");
		Scanner scan = new Scanner(System.in);
		String info=scan.nextLine();
		if(this.name==info)
		{
			System.out.println("name\tgender\tage\tphone\t\taddress\t\t\tmail");
			System.out.println(this.name+"\t"+this.gender+"\t"+this.age+"\t"+this.phone+"\t"+this.address+"\t\t"+this.email);
		}
		else if(this.email==info)
		{
			System.out.println("name\tgender\tage\tphone\t\taddress\t\t\tmail");
			System.out.println(name+"\t"+gender+"\t"+age+"\t"+phone+"\t"+address+"\t\t"+email);
		}
		else if(this.address==info)
		{
			System.out.println("name\tgender\tage\tphone\t\taddress\t\t\tmail");
			System.out.println(name+"\t"+gender+"\t"+age+"\t"+phone+"\t"+address+"\t\t"+email);
		}
		else
		{System.out.println("can't found!");}
	}

	public void eat()
	{System.out.println("eat way running...");}
	public void drink()
	{System.out.println("drink way running...");}
	public void play()
	{System.out.println("play way running...");}
	public void sleepy()
	{System.out.println("sleepy way running...");}
	public Student fuck(){	//类类型的方法需返回this
				age++;
				return this;	//必须要有返回语句
				}
	public static void kaka(){System.out.println("this is the static way!");}
	
	public static void main(String[] args)
	{
		Student s1=new Student();
		Student[] a=new Student[100];
		a[0]=s1;
		a[0].setter();
		//a[0].getter();
		//a[0].search();
		//getter();//此语句无法编译,因为main方法是静态的static,而getter是非静态的
			//静态方法不能直接访问非静态方法,只能通过对象来调用
		
		s1.fuck();
		s1.fuck();
		s1.fuck();
		System.out.println("s1的age成员变量是:"+s1.age);
	}
}

 

 

 

 

 

运行结果:

please enter name:
xx
please enter gender:
male
please enter phone:
12345678
please enter address:
china_beijing
please enter mail:
12345678@gmai.com
please enter age:
26
getter running...
your information is:
name    gender  age     phone           address                 mail
xx      male    26      12345678        china_beijing           12345678@gmai.com
this is the static way!
s1的age成员变量是:29

 

PS:没有考虑时间空间复杂度,仅仅是演示而已啦!

SAP-ABAP:SAP库存管理核心增强:IF_EX_MB_DOCUMENT_BADI 深度解析 SAP库存管理核心增强:IF_EX_MB_DOCUMENT_BADI 深度解析 阅读详情

相关推荐

论文记录:Affine Formation Maneuver Control of Multiagent Systems

多智能体编队控制仿真记录 实现功能:平移/旋转/尺寸缩放/shear,见截图 注意:本仿真图只是起到了演示效果,中间过程速度产生突变,实际中是不允许的。需要进行速度规划,这一点论文中仿真图更为贴合实际。 参考论文:Zhao, S. (2018). Affine Formation Maneuver Control of Multiagent Systems. IEEE Transactions on Automatic Control, 63(12), 4140–4155. 突然发现有个博主写得很好,参考:

W1H1J1的博客 2108

Java方法详解(Java基础)

本章是Java基础的方法概念详解,分享给初学者,一起学习,共同进步! 文章目录一.方法基础概念二.方法的分类三.方法的调用格式四.方法的重载五.拓展 一.方法基础概念 什么是方法 Java的方法类似于其它语言的函数,是一段用来完成特定功能的代码片段 为什么要声明方法 (方法的好处) ①把复用的逻辑抽取出来,封装成方法,提高代码的重用性 ②实现相对独立的逻辑,提高代码的维护性 ...

末尾卡片和博主交流学习! 1万+

ESP32 IDF开发 应用篇⑲ 空中升级OTA

在实际产品开发过程中,在线升级可以远程解决产品软件开发引入的问题,更好地满足用户需求。OTA(空中)更新是使用 Wi-Fi 连接而不是串行端口将固件加载到 ESP 模块的过程。(1)、ESP32 的 OTA 升级有三种方式:·Arduino IDE:主要用于软件开发阶段,实现不接线固件烧写·Web Browser:通过 Web 浏览器手动提供应用程序更新模块·HTTP Server:自动使用http服务器 - 针对产品应用在三种升级情况下,必须通过串行端口完成第一个固件上传。

lu330274924的博客 3324

java的一些基础方法

@ZhengLan的博客 130

苏州大学自动化考研842自动控制原理:手把手教你用胡寿松《自控》高效备考(附复试电工/电子/微机原理攻略)

本文详细解析苏州大学自动化考研842自动控制原理备考策略,以胡寿松《自动控制原理》为核心教材,提供三阶段高效学习路径和实战技巧。重点涵盖频域分析、根轨迹绘制等高频考点,并针对机电、光电、轨道三个学院的复试科目(电工电子技术、电子技术基础、微机原理与接口技术)给出差异化备考方案,助力考生全面提升笔试和面试表现。

weixin_42638178的博客 399

OpenMV模块视觉测距(避障)+颜色识别+TFT-LCD显示(实现原理与代码分析)

上图所示代码实际运行的帧率比较低,主要原因有以下两个:1.硬件问题,博主使用的版本比较低,可以尝试使用高版本OpenMV2.图像滤波问题。之前加入图像滤波是想提高色块识别的准确性,但是相应的运算速度也会下降。

ediykk的博客 1万+

Java基础方法

Java基础方法 开发工具与关键技术:eclipse java 作者:黄济民 撰写时间:2021.4.27 下面使用java语言当中的最基础定义方法,这是在eclipse软件里面编写程序的,这是一下最基础的方法定义。 package com.hjm.demo; /** @author Rmin 关于java语言当中的方法: 1.方法怎么定义,语法结构: [修饰符列表] 返回值类型 方法名(形式参数列表){ 方法体; } 2.对以上的语法

Mrhuangjimin的博客 164

AMEsim柱塞泵的建模学习

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录前言一、为什么要对柱塞泵进行仿真?二、Amesim中柱塞泵的模型1.amesim中自己的定排量五柱塞的斜盘柱塞泵2.压力、流量仿真总结 前言 最近在学习Amesim进行柱塞泵的仿真学习,顺便在这里记录我的学习过程,这是我的初衷 提示:以下是本篇文章正文内容,下面案例可供参考 一、为什么要对柱塞泵进行仿真? 柱塞泵是功能和动力学比较复杂的流体机械。而在实际实验中,往往没有条件或者需要对柱塞泵做一些优化,所以需要我们利用仿真...

innocent_cft的博客 8184

java方法的基础

讲述一下java方法的基础入门知识 1.定义格式: public static void 方法名称(参数类型 参数名) { 方法体 } 方法就是若干语句的功能集合。 方法好比一个工厂: 卖奶的: 原料:奶牛 、饲料、水等、、 ​ 产出物:奶制品 钢铁工厂:钢铁是怎样炼成的??我说的不是一本书 ​ 原料:铁矿石、煤炭 ​ 产出物:钢铁建材 1.1 参数 参数好比原料 参数就是进入方法的数据 1.2 返回值 返回值就好比产出物 返回值 顾名思义,就是从方法中出来的的数据 1.3 定义

weixin_48303059的博客 111

Python进行.tif格式数据波段组合;多波段tif数据波段分离

Python进行.tif格式数据波段组合;多波段tif数据波段分离.tif格式数据波段组合多波段.tif数据波段分离 阔别已久,我又来了;啊啊啊…… 读了研究生,忙到天昏地暗(哈哈哈,这都是借口,主要是花了一定时间适应研究生生活) 这方面的内容我也主要是应用在遥感领域,我们知道在遥感应用中,大多数的图像数据格式为.tif格式的。进行波段组合使用ArcGIS里面的Composite Bands工具是可以实现的,波段分离也可以使用一些工具或巧妙的方法分开。但当你使用Python程序的话,就可以简化这个软件点击和

qq_44353170的博客 1万+

全网最详细的 Ubuntu 18.04 安装Livox mid-360驱动,测试 fast_lio2

Livox mid-360需要使用Livox-SDK2,而非Livox-SDK,以及对应的。并需要修改FAST_LIO中部分代码。Faster—LIO;Faster-LIO:快速激光IMU里程计。Faster-LIO:快速激光IMU里程计PDF。大部分Lidar SLAM都是基于loam进行改造的,基本上是通过线特征edge和面特征(面点)分割进行配准得到里程计的,而fast-lio2是通过一个迭代扩展卡尔曼滤波器去优化帧内位姿,然后通过输入点云与地图进行配准得到里程计,精度和鲁棒性都不错。

努力努力努力 6238

Java基础四:方法

本文介绍了Java中方法的多种使用方式:1.静态方法的定义与调用,包括无参无返回值方法;2.带参数方法的实现及形参与实参的区分;3.带返回值方法的语法规则和注意事项;4.方法重载的条件与应用场景;5.递归思想的实现原理,通过阶乘和斐波那契数列案例展示;6.综合应用方法实现万年历功能,包含日期计算、闰年判断等方法组合。全文通过具体案例演示了各种方法的使用场景和实现技巧,强调方法功能单一性和代码复用性。

qq_52506743的博客 671

YOLO11涨点优化:创新多尺度卷积注意力(MSCA)模块,小目标检测神器!

MSCA模块通过创新的多尺度设计,在保持计算效率的同时显著提升小目标检测能力。实验证明,在YOLOv5/v8等模型上嵌入MSCA后,mAP提升超过2%,小目标检测精度提升近4%,且计算代价增加极小。注意力机制的未来发展方向动态核尺寸:根据输入特征自适应调整卷积核大小跨模态融合:结合RGB与深度/热力图等多模态信息自监督优化:利用对比学习预训练注意力模块尝试在你的YOLO模型中插入MSCA模块,欢迎在评论区分享你的涨点结果!参考文献。

QQ_778132974的博客 470

java入门基础(数组和方法)

数组概念:相同数据类型元素的集合,是一种引用数据类型,我们将类型相同,逻辑相关的数据,存到数组中数组的定义数据类型[] 数组名 = new 数据类型[大小];//声明整型数组,包含5个元素//声明浮点型数组,包含3个元素//声明布尔型数组,包含4个元素声明了整型数组arr,其中包含5个元素,每个元素都是int类型,默认值为0该格式会在声明的同时分配一块内存空间供该数组使用整数数据类型所占空间为4个字节,arr保存的元素有5个,所以该数组总共占用4*5=20个字节2)数组元素的默认值规则。

impact99的博客 1474

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Java基础之方法

with的博客 283

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

JAVA方法基础

Q1:什么时候用到有返回值的方法?在调用处要根据方法的结果,去编写另外一段代码Q2:有返回值方法的定义格式public static 返回值类型 方法名(参数){方法体;return 返回值;Q3:有返回值方法的调用格式直接调用,赋值调用,输出调用。

m0_74902320的博客 507

java基础之类的方法

java类如何定义一个方法,如何传递参数,如何返回值,returen的用法

jiankang66的博客 355

Java基础:Obeject类的方法

Java基础 JDK 源码阅读顺序 https://blog.youkuaiyun.com/qq_21033663/article/details/79571506 Object 的方法: 参考: https://blog.youkuaiyun.com/weixin_37627441/article/details/79282056 https://blog.youkuaiyun.com/qq_30264689/article/d...

记录_分享的博客 868

【Java 基础语法】方法的使用

文章目录一、方法的基本用法1. 什么是方法2. 语法格式3. 实参和形参的关系二、方法的重载1. 重载要解决的问题2. 什么是重载三、方法递归1. 什么是递归2. 递归执行过程分析3. 递归练习4. 递归小结四、总结 一、方法的基本用法 1. 什么是方法 方法就是一个代码片段,类似于 C 语言中的函数。它是一个语句的集合,它们在一起执行一个功能 那么方法存在的意义是什么呢? 能够模块化的组织代码 做到让代码被重复使用,一份代码可以用在多个位置 让代码更好理解、更简单 直接调用现有方法,不必重复造轮子

吞吞吐吐大魔王的博客 2709

java基础总结——java方法

小白龙白龙马的博客 217

java方法语法_Java 基础语法

原标题:Java 基础语法一个Java程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。下面简要介绍下类、对象、方法和实例变量的概念。对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;行为有:摇尾巴、叫、吃等。类:类是一个模板,它描述一类对象的行为和状态。方法:方法就是行为,一个类可以有很多方法。逻辑运算、数据修改以及所有动作都是在...

weixin_42298105的博客 84

java 基础方法 list分页

@date: 2025年6月16日 0016 上午 11:24:41。* @date: 2025年6月16日 0016 上午 11:28:41。* @date: 2025年6月16日 0016 下午 01:22:22。voPageTest1.setPName("1号位置");voPageTest2.setPName("2号位置");voPageTest3.setPName("3号位置");* @description: list分页。* @description: 分页测试。* list 分页返回。

xcs19405的专栏 976

java学习方法:基础知识学习

基础是学习的根本,打不好基础,后期想提升技术很难,下面分享下java学习方法和线路: 学习方法 练练练 笔记与哪些东西需要记忆 计算机键盘熟悉 输入法的切换 ctrl + space shift Tab 空格 回车 Windows键 单引号和双引号的作用 Ctrl 和 Shfit (快捷键,选择物体) Alt 如何打键盘上面的一排数字键 {46ef1d7cfbdffc0db57029f974d30095d18ea60dba1d7b2ffaf442b213727085}&*() – _ + = C

txun123的博客 159

java基础——方法概述

1_Java语言基础(方法概述和格式说明) A:为什么要有方法 提高代码的复用性 B:什么是方法 完成特定功能的代码块。 C:方法的格式 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2...) { 方法体语句; return 返回值; } D:方法的格式说明 修饰符:目前就用 public static。后面我们再详细的讲解其他的修...

求学之路的苦行僧 293

Java基础:方法

# Java基础:方法

Li__Daxia的博客 402

java方法(基础知识)

java方法(基础知识)----思维导图

Lucy的博客 365
上一篇: Java基础练习——打印一个圆
下一篇: Java基础——java语言的4个访问控制符
冷静BB
博客等级 码龄12年 298粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值