疯狂java学习笔记之面向对象(三) - 方法所属性和值传递
2024-08-24 03:21:01
方法的所属性:
从语法的角度来看:方法必须定义在类中
方法要么属于类本身(static修饰),要么属于实例 -- 到底是属于类还是属于对象? 有无static修饰
调用方法时:必须有主调对象(主语,调用者)
public class MathTest{
public static void main(String[] args){
System.out.println(Math.sin(1.57));
System.out.println(Math.sin(Math.PI/2));
}
}
public class TestMethod {
String name; //自定义带参数的构造器后,系统不会再为类提供无参构造器
//注意:若程序员没有构造器,系统默认会为类提供一个无参构造器
public TestMethod(String name){
this.name = name;
} public void walk(){
System.out.println(this.name + "在走路");
} public void run(){
//TestMethod t = new TestMethod("老A");
//t.walk();
//方法中看不出this代表谁,谁调用它就代表谁,这里是tt调用run的,所以this代表tt
this.walk();
System.out.println(this.name + "在跑步");
} public static void main(String[] args) {
TestMethod tt = new TestMethod("老C");
tt.run();
}
}
方法值传递:
Java方法的参数传递机制:"值传递/副本传递",它并不会把方法中的值传递过去,而是通过副本的形式传递的
形参个数可变的方法:type... 形参名
class TestArgs {
public void age(int age) {
System.out.println("a的年龄为:" +age);
} //int... 表示可以传入多个int类型的参数
public void test(int... ages){
//在该方法中ages 相当于一个数组
for(int ag : ages){
System.out.println("b的年龄为:" + ag);
}
} public static void main(String[] args) {
//定义一个ta变量指向TestArgs实例,因为类中方法都是实例方法,所以必须创建实例才能调用
TestArgs ta = new TestArgs();
ta.age(22);
System.out.println("~~~~~~~~~~~~~~~~~~~~~");
ta.test(10,20,11,23,55,19,44,68);
}
}
注意:
A、每个方法最多只能有一个形参个数可变的参数public void test(int... nums,String... name)×
B、形参个数可变的参数必须位于最后
public void test(int... nums,String name) ×
public void test(String name,int... nums) √
最新文章
- 如何在没有域的环境中搭建AlwaysOn(一)
- Windows 10 后台音频
- linux 下搭建svn
- 后台获取不规则排列RadioButton组的值
- Codeforces Round #143 (Div. 2)
- codevs2492上帝造题的七分钟 2(线段树)
- Chapter 16_1 Class
- 第三十九节,python内置全局变量
- iOS 的ipa 包重新签名
- php发送短信验证码
- js中的值类型和引用类型的区别
- AssetBundle使用心得【资源加载】
- OSPF单区域配置
- 用c#开发微信 系列汇总 - z
- dragino2 ar9331将LED管脚当做普通gpio使用
- Model操作补充
- #loj3090 [BJOI2019] 勘破神机
- Java8中list转map
- 如何使用Java Enum
- 使用eclipse从github导入maven项目