面向对象方法 与return的用法(1)

如何定义类的某种行为
方法返回值的类型-《----方法定义------》方法主体
public 返回值类型 方法名(){
//方法的主体
//return 表达式;
}

return 跳出方法 返回结果
方法没有返回值 返回值类型为void

方法的调用:
对象名.方法名();
例如:小明他爸给他买个狮子
定义调用狮子的功能与方法
狮子会跑会叫
还能抢球
颜色黑色
属性:黑色
方法:
会跑
会叫
抢球
代码:

public class AutoLion {
    String color;
    public void run(){
        System.out.println("跑了起来");

    }public void cry(){
        System.out.println("叫了起来");
    }
    public String rolBall(){
        String ball="皮球";
        return ball;
    }
    public String getColor(){
        return color;
    }
    public String showLion(){
        String str="这是一只"+getColor()+"色的狮子";
        return str;
    }

}

编写测试类:

public class Test1 {
    public static void main(String[] args) {
        AutoLion lion=new AutoLion();
        lion.color="黑";
        String c=lion.getColor();
        System.out.println("获取的颜色"+c);
        lion.run();
        lion.cry();
        String str=lion.showLion();
        System.out.println(str);
    }
}

其中 String str=“这是一只”+getColor()+“色的狮子”;
是利用此类的另一个方法

结果:
在这里插入图片描述

如果调用另一个类的方法则需要在此类中弄一个对象来引用方法
public void a( ) {
b( ); //调用b( )
}
例如
弄一个手机类
弄一个电池类
创建一个手机对象显示
下载
播放
电池的充电方法
代码如下I:
电池类:

public class Cell {
    String name;
    public int in(){
        int num=15;
        return num;
    }
}

手机类:

public class Phone {
    public void play(){
        System.out.println("正在播放"+download());
    }
    public String download(){
        String name="lemon";
        return name;
    }
    public void cd(){
        Cell cell=new Cell();
        int num=cell.in();
        cell.name="华为";
        System.out.println(cell.name+"电池正在充电剩余"+num+"%");
    }
}

编写测试类:

public class test5 {
    public static void main(String[] args) {
        Phone phone=new Phone();
        phone.play();
        phone.download();
        phone.cd();
    }
}

结果:
在这里插入图片描述
作用域
成员变量可以应用于整个类中
而且可以不给初始值,默认初始值
int=0
String=null
局部变量只能用于方法中
且没有初始值

public class aaaaaaa {
    int a;
    public void show(){
        a=10;
    }

    public void showw(){
        a=10;
    }
}

a为成员变量
所以所有方法都可以用
而且不用给初始值

在这里插入图片描述
a为局部变量只能用于show方法而不能用showw方法
在这里插入图片描述
局部变量没有初始值也会报错

注释:
javaDoc注释:使用“/**“开始和“*/“结束,用来注释类、属性和方法等

综合例题:输入用户名和密码登陆登陆系统实现菜单转换
在这里插入图片描述
在这里插入图片描述
分析:需要三个类一个登陆类,用来验证用户名和密码利用boolean类型的方法判断是否正确登陆或退出
一个菜单转换类来实现菜单来回转换,输入0返回
一个测试类用来测试

登陆类:
属性:
用户名 String username
密码 String passwd
方法登陆 创建boolean类型方法。
在控制台输入的用户名和密码等于设定的用户名密码则为true登陆成功跳入菜单转换类
false则登录失败
代码:

import java.util.Scanner;

public class User {
    String username;
    String passwd;
    public boolean login(){
        Scanner input=new Scanner(System.in);
        System.out.println("用户");
        username=input.next();
        System.out.println("密码");
        passwd=input.next();
        if (username.equals("admin")&&passwd.equals("12345")){
            return true;
        }
        return false;
    }
}

菜单转换类
属性:无
方法创建四个显示方法分别为
显示登陆菜单
显示主菜单
显示客户信息管理菜单
显示幸运抽奖菜单

在登陆菜单用boolean类型方法引用User类中的登陆方法判断是否登陆成功,成功显示主菜单,不成功则继续显示登陆菜单,swich来控制菜单转换,1为登陆2,为退出
其他方法也用swich来实现调用方法的循环

代码:

import java.util.Scanner;

public class Menu {
    Scanner input=new Scanner(System.in);
    public boolean showLoginMenu(){
        System.out.println("登录系统");
        System.out.println("退出系统");
        System.out.println("请输入数字");
        int num=input.nextInt();
        switch (num){
            case 1:
                User user=new User();
                boolean val=user.login();
                if (val==true){
                    showMainMenu();
                }else {
                    showLoginMenu();
                }
                break;
            case 2:
                System.out.println("退出");
                return false;
        }
        return false;
    }
    public void showMainMenu(){
        System.out.println("1.客户信息");
        System.out.println("2.真情回馈");
        System.out.println("请选择或者输入0返回上一级");
        int num=input.nextInt();
        switch (num){
            case 1:
                showCustMenu();
                break;
            case 2:
                showSendGMenu();
                break;
                default:
                    showLoginMenu();
        }
    }
    public void showCustMenu(){
        System.out.println("客户信息");
        System.out.println("1.查看客户信息");
        System.out.println("2.查看客户积分");
        System.out.println("请选择或者输入0返回上一级");
        int num=input.nextInt();
        switch (num){
            case 1:
                System.out.println("查看客户信息");
                break;
            case 2:
                System.out.println("查看客户积分");
                break;
                default:
                    showMainMenu();
        }
    }
    public void showSendGMenu(){
        System.out.println("真情回馈");
        System.out.println("1.幸运大放送");
        System.out.println("2.幸运抽奖");
        System.out.println("请选择或者输入0返回上一级");
        int num=input.nextInt();
        switch (num){
            case 1:
                System.out.println("幸运大放送");
                break;
            case 2:
                System.out.println("幸运抽奖");
                break;
                default:
                    showMainMenu();
        }
    }
}

这里就用到了在Menu类里引用了User类的登陆方法

测试类:

public class Test2 {
    public static void main(String[] args) {
        OrderMgr orderMgr=new OrderMgr();
        orderMgr.showMenMenu();
    }
}

结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值