1 同一个类的方法可以直接被调用
public static void main(String[] args) {
A a=new A();
a.sayOk();
}
}
//同一个类的方法可以直接调用
class A{
public void print(int n)
{
System.out.println("print 方法被调用="+n);
}
public void sayOk(){
print(10);
System.out.println("继续执行");
}
}
2.一个方法可以有多个参数,中间用逗号隔开
3.参数类型可以为任意类型,包含基本类型或引用类型,比如printArr(int [] map)
4调用带参数的方法时,一定对应着参数列表传入相同类型或者兼容类型的参数
5 方法定义时的参数为形参,方法调用时的参数为实际参数,简称实参,实参与形参的类型要一致或者兼容,个数,顺序,必须一致
方法体 里面写完成功能的具体语句,可以为输入,输出,变量,运算,,分支,循环,方法调用,但是里面不能再定义方法!即方法不能嵌套定义方法
6,跨类中中的方法调用,A类中调用B类的方法:需要对象名来调用
public class MethoDetaill02 {
public static void main(String[] args) {
A a=new A();
//a.sayOk();
a.m1();
}
}
//同一个类的方法可以直接调用
class A{
public void print(int n)
{
System.out.println("print 方法被调用="+n);
}
public void sayOk(){
print(10);
System.out.println("继续执行");
}
public void m1(){
System.out.println("m1被调用");
//创建B对象,然后在调用方法即可;
B b=new B();
b.hi();
System.out.println("m1继续被执行");
}
}//跨类中中的方法调用,A类中调用B类的方法:需要对象名来调用
class B{
public void hi(){
System.out.println("hi方法被调用");
}
}
7基本数据类型的成员方法的传参机制:传递的是值(值拷贝),形参的改变不会影响实参
8引用类型传递的是地址(传递的也是值,但也是地址),可以通过形参来影响实参;
public class MethodExcersier02 {
public static void main(String[] args) {
BB b=new BB();
int arr[]={1,2,3};
b.test02(arr);
System.out.println("main函数的数组");
for (int i=0;i<arr.length;i++)
{
System.out.println(arr[i]+"\t");
}
}
}
class BB{
public void test02(int arr[]){
arr[0]=200;
System.out.println("arr的数组");
for (int i=0;i<arr.length;i++)
{
System.out.println(arr[i]+"\t");
}
}
}
//两次遍历数组都是输出的是200,2,3
public class MethodExcersier02 {
public static void main(String[] args) {
BB b=new BB();
/* int arr[]={1,2,3};
b.test02(arr);
System.out.println("main函数的数组");
for (int i=0;i<arr.length;i++)
{
System.out.println(arr[i]+"\t");
}
*/
Person01 p=new Person01();
p.name="jack";
p.age=10;
b.test200(p);
System.out.println("main方法里的"+p.age);
}
}
class Person01{
String name;
int age;
}
class BB{
public void test200(Person01 p){
p.age=1000;
}
public void test02(int arr[]){
arr[0]=200;
System.out.println("arr的数组");
for (int i=0;i<arr.length;i++)
{
System.out.println(arr[i]+"\t");
}
}
}
练习1.0
public void test200(Person01 p){
//p.age=1000;
p=null;
//当我把p=null时,此时的mian函数的p.age 会输出什么
结果10
练习2
public void test200(Person01 p){
//p.age=1000;
//p=null;
p=new Person01();
p.name ="tom";
p.age=20;
//此时的main函数p.age输出什么
输出结果还是10;