疯狂java学习笔记之面向对象(三) - 方法所属性和值传递
方法的所属性:
从语法的角度来看:方法必须定义在类中
方法要么属于类本身(static修饰),要么属于实例 -- 到底是属于类还是属于对象? 有无static修饰
调用方法时:必须有主调对象(主语,调用者)
1 public class MathTest{ 2 public static void main(String[] args){ 3 System.out.println(Math.sin(1.57)); 4 System.out.println(Math.sin(Math.PI/2)); 5 } 6 }
1 public class TestMethod { 2 String name; 3 4 //自定义带参数的构造器后,系统不会再为类提供无参构造器 5 //注意:若程序员没有构造器,系统默认会为类提供一个无参构造器 6 public TestMethod(String name){ 7 this.name = name; 8 } 9 10 public void walk(){ 11 System.out.println(this.name + "在走路"); 12 } 13 14 public void run(){ 15 //TestMethod t = new TestMethod("老A"); 16 //t.walk(); 17 //方法中看不出this代表谁,谁调用它就代表谁,这里是tt调用run的,所以this代表tt 18 this.walk(); 19 System.out.println(this.name + "在跑步"); 20 } 21 22 public static void main(String[] args) { 23 TestMethod tt = new TestMethod("老C"); 24 tt.run(); 25 } 26 }
方法值传递:
Java方法的参数传递机制:"值传递/副本传递",它并不会把方法中的值传递过去,而是通过副本的形式传递的
形参个数可变的方法:type... 形参名
1 class TestArgs { 2 public void age(int age) { 3 System.out.println("a的年龄为:" +age); 4 } 5 6 //int... 表示可以传入多个int类型的参数 7 public void test(int... ages){ 8 //在该方法中ages 相当于一个数组 9 for(int ag : ages){ 10 System.out.println("b的年龄为:" + ag); 11 } 12 } 13 14 public static void main(String[] args) { 15 //定义一个ta变量指向TestArgs实例,因为类中方法都是实例方法,所以必须创建实例才能调用 16 TestArgs ta = new TestArgs(); 17 ta.age(22); 18 System.out.println("~~~~~~~~~~~~~~~~~~~~~"); 19 ta.test(10,20,11,23,55,19,44,68); 20 } 21 }
注意:
A、每个方法最多只能有一个形参个数可变的参数public void test(int... nums,String... name)×
B、形参个数可变的参数必须位于最后
public void test(int... nums,String name) ×
public void test(String name,int... nums) √
转载于:https://www.cnblogs.com/dtest/p/4158092.html
疯狂java学习笔记之面向对象(三) - 方法所属性和值传递相关推荐
- 疯狂java学习笔记之面向对象(二) - 成员变量与局部变量
Java变量按其作用域可分为:成员变量和局部变量.注意:在Java中是没有全局变量这个概念的 一.成员变量: 成员变量是在类中定义的变量,具体可分为类变量与实例变量--有无static修饰 实例变量的 ...
- 疯狂Java学习笔记(69)---------Lock
疯狂Java学习笔记(69)---------Lock Java并发编程:Lock 在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问.本文我们继续来探讨这个问题,从Java ...
- 疯狂java学习笔记
<疯狂java>我觉得是一本很好的java基础书,里面解释的比较通俗易懂,不繁琐,深入程度刚刚好,比较适合我现阶段来学习,巩固java基础知识,所以将所做的笔记整理如下: 1.数据类型分类 ...
- JAVA学习笔记之面向对象(一)
作为初入开发的萌新,我根据黑马程序员的教学视频和课件整理总结,记录下自己的JAVA学习,方便巩固和交流.每篇笔记首先回顾知识点,然后贴上代码和执行结果,最后进行小结.若有不正之处或者有疑问,欢迎指出, ...
- 疯狂java学习笔记三
面向对象 1.继承 extends关键字 抽象类 implement关键字 java1.8(函数式接口)–>Lamba表达式–>foreach方法–>函数接口 java1.8默认方法 ...
- 0040 Java学习笔记-多线程-线程run()方法中的异常
run()与异常 不管是Threade还是Runnable的run()方法都没有定义抛出异常,也就是说一条线程内部发生的checked异常,必须也只能在内部用try-catch处理掉,不能往外抛,因为 ...
- Java学习笔记:04面向对象-内部类_访问修饰符_final
04面向对象-内部类/访问修饰符/final 1.static的介绍 static:关键字,静态的 static的作用是用来修饰类中的成员 2.访问一个类中的某一个成员变量 方法一: _1.创建对象 ...
- 【原】Java学习笔记018 - 面向对象
1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 // ...
- 【原】Java学习笔记020 - 面向对象
1 package cn.temptation; 2 3 public class Sample01 { 4 public static void main(String[] args) { 5 // ...
最新文章
- Spring学习-理解IOC和依赖注入
- Django之入门 CMDB系统 (一) 基础环境
- java 8 lambda sort_Java8 用Lambda表达式给List集合排序的实现|chu
- android_jsbridge,让你和前端愉快的交互
- html网页加入一个按钮,在html网页设计中,一个“登录”按钮怎么编写代码?
- CentOS-6.3安装使用MongoDB
- python jpg 压缩因子_IOS图像2之jpg、png图片保存、互转、设置有损压缩因子
- EurekaClient启动报错:Invocation of destroy method failed on bean with name 'scopedTarget.eurekaClient'
- inventor整理资源中心收藏夹
- swift 笔记 (二十一) —— 高级运算符
- 计算机思维导论在线测试题库,计算机导论题库有答案.docx
- 大学生自学网python_大学生免费自学网官网
- Python 小白实例(一)——体脂率的计算(输入输出)
- 软件项目管理 实验二
- Excel加密文档 加密保护破解方法 亲测有效
- 非飞行模式下,笔记本电脑不显示附近WiFi,并提示“适配器遇到与驱动程序或硬件相关的问题”——解决办法
- antd踩坑记录之upload上传
- .NET AutoCAD二次开发之路(二、直线篇)
- ICLR 2022:​PiCO,基于对比消歧的偏标签学习 丨AI Drive
- 1514_人月神话阅读笔记_20年后的人月神话_上篇
热门文章
- ajax---post跨域思路
- shell中lsort,uniq,cut,wc,seq命令使用
- 电视领域“烧钱”不止,酷开为何反成赢家?
- JVM可生成的最大Thread数量探索
- There is no Action mapped for namespace / and action name accredit.
- Linux下批量添加用户
- another app is currently holding the yum lock;waiting for it to exit...
- 10分钟 教你学会Linux/Unix下的vi文本编辑器
- python内嵌函数和闭包与java 匿名内部类_Java匿名内部类构造原理分析
- python安装wheel失败_Python安装Pyinstaller失败,Preparing wheel metadata ... error