java学习笔记5(方法)
方法:
1.如何创建方法
修饰符 返回值类型 方法名(参数){被封装的代码段}
2.方法的定义和使用的注意事项:
a:方法不能定义在另一个方法里面;
b:方法 名字和方法的参数列表,定义和调用时要保持一致,不能出错;
c:方法的返回值类型为空(void)时,可以省略return不写;调用方法不能写在输出语句中;
d:返回值类型不为空时,return后的数据类型要与定义方法的返回值类型一致,return后面不能再写代码;
求和方法如下:
public class MothedDemo{
public static void main(String[] args){
int sum=sum(3,4);//调用方法sum();
System.out.println("和为"+sum);
}
public static int sum(int x,int y){//定义方法sum();
return x+y;//返回值为x+y;
}
}
3.方法的重载
重载:在同一个类中,方法名相同,参数列表不同。与返回值的类型无关。
参数列表不同包括:1.参数的个数不同;
2.参数的类型不同
重载例子:
public class MothedDemo{
public static void main(String[] args){
int sum=sum(3,4);
double sum1=sum(5,6,7);
double sum2=sum(5,4);//发生了隐式转换,将5,4转换为double类型
System.out.println("和为"+sum);
System.out.println("和为"+sum1);
System.out.println(sum2);
}
public static int sum(int x,int y){
return x+y;
}
public static double sum(double x,double y, double z){
return x+y+z;
}
public static double sum(double x,double y){
return x+y;
}
}
方法重载注意:
参数个数不一样,或者参数类型不一样。
重载和返回值类型无关,和参数名无关。
技巧:重载看方法名和参数列表
方法的参数是基本类型时传递的是值,方法的参数是引用类型时传递的时内存地址;
参数为引用类型的例子:
public class MothedDemo1{
public static void main(String[] args){
int[] arr={1,2,3};
change(arr);
int x=2;
change(x);
System.out.println(arr[1]); //输出结果66
System.out.println(x); //输出结果2
}
public static void change(int[] a){
a[1]=66;
}
/*本例中,change()方法返回值类型为空,但是change()方法的参数为引用型,因此传递的是arr数组的内存地址,
再调用change()方法时,通过地址更改了arr[1]的值,在main方法中与在change()方法中,数组的内存地址时相同的,
因此数组的值彻底改变了,main()方法输出的结果为66;为了对比,我们用一个参数为基本类型的方法来比较*/
public static void change(int x){
/*当方法的返回值类型为空,参数为基本类型时,在调用该方法时,传递的是值2,把2的值改为5,但是void并没有返回值,
因此该方法并不能把重新赋值的5传递回main方法内,main方法在输出时仍输出x原来的值,输出2*/
x=5;
}
}
4.自定义类的概述
用自定义方法实现事物的过程,就是定义类的过程。
自定义类的格式
public class 类名{
//属性定义:
修饰符 数据类型 变量名=值;
//方法定义:
修饰符 返回值类型 方法名(参数列表){
}
}
java学习笔记5(方法)的更多相关文章
- Java学习笔记之---方法和数组
Java学习笔记之---方法与数组 (一)方法 (1)什么是方法? 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 (2)方法的优点 使程序变得更简短而 ...
- 0019 Java学习笔记-面向对象-方法
方法属于谁 方法要么属于类,要么属于对象 static修饰的方法属于类 没有static修饰的方法属于对象 方法只能定义在类里面,不能独立定义 不能独立的执行方法,要么通过类调用,要么通过方法调用 一 ...
- Java学习笔记之方法重载,动态方法调度和抽象类
一.方法重载 如果子类中的方法与它的超类中的方法有相同的方法名,则称子类中的方法重载超类中的方法,特别是当超类和子类中的方法名和参数类型都相同时,在子类中调用该方法时,超类中的方法会被隐藏.考虑下面程 ...
- 【原】Java学习笔记008 - 方法(函数)
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 方法/函数 Met ...
- Java学习笔记之方法重载
被重载的方法必须具有不同的参数列表.不能基于不同修饰符或返回值类型来重载方法. package welcome; public class TestMethodOverloading { public ...
- Java学习笔记之——方法重载
方法重载: overload 1. 方法签名 组成:方法名(参数列表) 参数列表不同分为哪些情况? (1)有无参数 (2)参数的类型 (3)参数的个数 (4)参数的顺序(前提是类型不一样) 2.方法重 ...
- Java学习笔记day05_方法重载
1.方法的重载overload 在同一个类中, 允许出现同名的方法, 只要方法的参数列表不同即可. 参数列表不同: 参数个数不同, 参数类型不同, 顺序不同. public class MethodO ...
- Java 学习笔记之 方法内的临时变量是线程安全
方法内的临时变量是线程安全: 方法内部的私有变量,是线程安全的. public class HasSelfPrivateNum { public void addI(String username) ...
- Java学习笔记之方法
前言:如果把所有代码都写到main方法中,后果是什么? 1,结构混乱 不清晰 2,不能重用 方法:规则:方法写在类中,不能写在其它方法中.方法不能嵌套方法 如何定义方法: 访问修饰符 返 ...
随机推荐
- 第一阶段——站立会议总结DAY04
1.昨天做了什么:未取得一点进步. 2.今天准备做什么:准备在网上搜索一下微信个人中心的相关信息,代码资料. 3.遇到的困难:界面简陋,还是对于深层次的,比如逻辑,还是不怎么会用.
- 关于react16.4——上下文Context
首先我们来聊一聊(上下文)Context. 上下文(Context) 提供了一种通过组件树传递数据的方法,无需在每个级别手动传递 props 属性. 在典型的 React 应用程序中,数据通过 pro ...
- php多线程代码
<?php$thNum = 20; //20个进程$total = 20000;//总数$pageNum=100;//每个页面显示100条数据 $pageCount = ceil($total/ ...
- php 文件压缩
1.php文件压缩代码: $zip = new ZipArchive;if($zip->open('aaa.zip',ZipArchive::OVERWRITE)===TRUE){ //aaa. ...
- Golang 在 Mac、Linux、Windows 下如何交叉编译(转)
原文地址:Golang 在 Mac.Linux.Windows 下如何交叉编译 Golang 支持交叉编译,在一个平台上生成另一个平台的可执行程序,最近使用了一下,非常好用,这里备忘一下. Mac 下 ...
- iOS 时间校准解决方案
背景 在 iOS 开发中,凡是用到系统时间的,都要考虑一个问题:对时.有些业务是无需对时,或可以以用户时间为准的,比如动画用到的时间.一些日程类应用等.但电商相关的业务大都不能直接使用设备上的时间,而 ...
- [LeetCode] 100. Same Tree ☆(两个二叉树是否相同)
描述 解析 根与根比较,左右子树互相递归比较即可. 代码 /** * Definition for a binary tree node. * public class TreeNode { * in ...
- redisObject
typedef struct redisObject { unsigned type:4; unsigned encoding:4; unsigned lru:REDIS_LRU_B ...
- 使用javassist进行动态编程
今天在研究dubbo时,发现一个新的知识点,可以使用javassist包进行动态编程,hibernate也使用该包进行编程.晚上百度了很多资料,将它的特性以代码的形式展现出来. package com ...
- npm node sass 安装报错
报错为 不能找到python2.7,记得曾经已经安装过python,结果npm install cnpm install npm install node-sass 各种不行,结果在cmd 输入pyt ...