Java基础--类的无参方法

1.定义方法

  • 访问修饰符  返回值  方法名 (参数) {
        
    }
  • 定义无参方法——小括号中没有参数

2.访问修饰符

访问级别不同包不同包下的子类同一个包同一个类
public (公共的、公有的)任何类都可以访问
protected(受保护的)在同一个包中,或不同包中的子类
缺省的(不写)在同一个包中可以访问
private(私有的)在同一个类中可以访问

3.返回值

  • 当方法执行完后,需要给出一个结果,可以使用带返回值的方法

  • public class Calc {
        double num1;
        double num2;
        //想要将什么类型的数据返回出去,返回值就写什么类型
        //return 关键字后面是返回出去的数据
        public double add() {
            return num1 + num2;
        }
    ​
        public static void main(String[] args) {
            Calc calc = new Calc();
            calc.num1 = 10;
            calc.num2 = 20;
            double sum = calc.add();
            System.out.println(sum);
        }
    }

  • 注意声明方法时返回值类型语言与return的值一致

  • 注意:

    • 如果方法有返回值,必须写return语句(尽量少的return,可以在前面定义一个boolean变量,最后返回)

    • return语句和break、continue一样,不允许在后面写其他代码

    • 有返回值的方法,应当接收返回值。

  • return的作用

    • 给出结果

    • 跳出方法

4.方法的调用

  • 在同一个类中调用方法,可以直接写方法名()

  • 如果在不同的类中调用方法,需要先实例化方法所在的对象,然后通过"对象名.方法名()"调用

  • package com.jxd.test01;
    ​
    /**
     * @author Ming WanBao
     */
    public class Dog {
        private void bark(){
            System.out.println("狗在汪汪叫!");
        }
    ​
        public void playFly(){
            System.out.println("小狗玩飞盘");
        }
    ​
    ​
        /**
         * 吃饭
         */
        public void eat(){
            System.out.println("小狗在吃饭");
        }
        public void play(){
            playFly();//玩飞盘
            bark();//汪汪叫
        }
        public static void main(String[] args) {
            Dog dog = new Dog();
            dog.bark();
        }
    }

  • package com.jxd.test01;
    ​
    /**
     * @author Ming WanBao
     */
    public class Master {
        Dog dog = new Dog();//主人有一只狗
        public void feed() {
            System.out.println("主人在喂狗");
            dog.eat();
        }
    ​
        public void playWithDog() {
            System.out.println("主人开始和小狗玩");
            dog.play();
        }
    ​
        public static void main(String[] args) {
            Master master = new Master();
            master.feed();
        }
    }

  • 递归

    • 方法调用方法本身,形成类似循环的效果,就是递归

    • 使用递归时,需要注意何时结束递归

    • public class Test01 {
          public void query() {
              System.out.println("还要继续循环吗?y/n");
              Scanner input = new Scanner(System.in);
              String answer = input.next();
              if ("y".equals(answer)){
                  query();
              } else {
                  return;//无返回值的方法单独写return,可以起到跳出方法的作用
              }
          }
      ​
          public static void main(String[] args) {
              Test01 test01 = new Test01();
              test01.query();
          }
      }

5.返回值类型可以是数组或对象

public class Test01 {
    Scanner input = new Scanner(System.in);
    //希望得到一组学生的成绩
    public int[] getScores() {
        int[] scores = new int[10];
​
        for (int i = 0; i < scores.length; i++) {
            System.out.print("请输入第" + (i + 1) + "个学生的成绩:");
            scores[i] = input.nextInt();
        }
        return scores;
    }
    //希望得到一个学生对象
    public Student getStudent(){
        Student student = new Student();
        System.out.print("请输入学生姓名:");
        student.name = input.next();
        System.out.print("请输入学生年龄:");
        student.age = input.nextInt();
        return student;
    }
    public static void main(String[] args) {
        Test01 test01 = new Test01();
        //int [] scores = test01.getScores();
        //System.out.println(Arrays.toString(scores));
        Student student = test01.getStudent();
        System.out.println("学生姓名:" + student.name);
        System.out.println("学生年龄:" + student.age);
​
    }
}

  • 22
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值