JAVA--类,方法

方法的类型
1、如何声明
【修饰符】 返回值类型 方法名(【形参列表】){
方法体:实现代码的功能
}
返回值类型:
(1)void:代表无返回值
(2)非void:可以是任意的JAVA数据类型,包括8种基本数据类型、所有的引用数据类型(数组,类)
【形参列表】:
(1)():无参
(2)(形参列表):有参
2、调用
(1)在本类中,同一个级别,直接调用
方法名();
(2)在其他类中,需要通过:“对象名.方法”
对象名.方法()

一:无参无返回值的方法
1、声明
【修饰符】 void 方法名(){
方法体
}
2、调用
在其他类中:对象名.方法();

class NoParamNoReturnValue{
      public static void mian(String[] args){
         Student stu=new Student();
         stu.name="V";
         stu.age=25;
         stu.score=100;
         stu.printInfo();//无返回值是单独一个语句
      }
}
class Student{
    //属性
    String name;
    int age;
    int score;
    //方法 省略修饰符
    //1、声明一个方法,可以打印当前学生的信息
    void printInfo(){
       System.out.println("姓名:"+name+"年龄"+age+"成绩"+score);
       
    }
}

二、无参有返回值
1、声明格式
【修饰符】 非void的返回值方法 方法名(){

}

class NoParamNoReturnValue{
      public static void mian(String[] args){
      //1、创建对象
      Account a =new Account();
      a.id='19951230';
      a.balance=1995;
      //调用a的printInfo()
      a.printInfo()
      //a的月利率
     d= a.getMonthRate();//接收返回值。或者打印
      }
class Account{
     String id;
     double balance;
     double rate=0.035;
     
     void printInfo(){
     System.out.println("账户:"+id+"余额"+balance+"年利率"+rate);
     }
     double getMonthRate(){
     return rate/12;
     }
}

三、有参无返回值的方法
1、声明
【修饰符】void 方法名(形参列表){
方法体
}
形参列表的格式:
(数据类类型 形参名)
(数据类型1 形参名1,数据类型2 形参名2,…)
2、调用格式
(1)本类同级别
方法名(实参列表)
(2)其他类中
对象名。方法名(实参列表)
3、两个名词
(1)形参列表:声明时()中
(2)实参列表:调用时()中

void printRectangle(int n,int m,char x){
}
tool.printRecangle(3,5,'%');

类也是引用对象

class MyDates{
   int year;
   int month;
   int day;
   }
 class Cityzen{
     Cityzen c =new Cityzen();
     c.birthday=new MyDates();//MyDates是引用对象
     c.birthday.year=1995;
     c.birthday.month=12;
     c.birthday.day=30;
     }

方法的实参传递机制
1、形参是基本数据类型
实参赋值给形参是数据值,形参值修改不影响实参,因为实参是“copy”复制了一份数据给形参
在这里插入图片描述
在这里插入图片描述
2、形参是引用数据类型
行参是引用数据类型,实参赋值给形参的是地址值,如果形参修改了对象的属性值,那么实参对象的属性值也会修改在这里插入图片描述在这里插入图片描述
实参传给形参的是地址值,形参根据地址值找到堆里的值,然后方法中修改了半径的值,运行完后方法的内存释放掉,但此时半径的值已经修改了。
陷阱:在方法中加一句 c=new Circle();
结果圆的半径没有改变
在这里插入图片描述
本来调用了方法之后,应该指向半径radius=1.0,但是在方法中新建了一个对象就会开辟一个新的内存空间默认值为0.0,扩大两倍还是0.0(执行完释放)再回到主方法中找到radius,值还是1.0

方法重载
再同一类中,出现了两个或多个方法名相同,形参列表不同,称为方法的重载。
形参列表不同:形参的个数,数据类型不同

在这里插入图片描述

public static double max(int a,int b){
}//不行和前面的形参列表一样

且方法的重载和返回值类型无关,至于形参列表有关

可变参数
在这里插入图片描述
在这里插入图片描述
变量分类
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数组存放的数据类型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值