Java面向对象(类的无参和带参)

1.类的无参方法

语法格式:

public   返回值类型  方法名()  {

           //方法的主体

}

返回值的两种情况:

第一种情况:如果方法没有返回值,返回值类型为void
第二种情况:如果方法具有返回值,方法中必须使用关键字return返回该值,返回值类型为该返回值的类型。

return的作用:跳出方法,返回结果
 

在方法调用中需注意:

方法的返回值类型为void,方法中不能有return 返回值!

方法不能返回多个值!

多个方法不能相互嵌套定义!

不能在方法外部直接写程序逻辑代码!


调用一个无返回值类型的方法,不能使用任何变量或对象来接收。例子:
方法:
 public void get (){
使用:
对象.get ();

练习(1)

实现输入用户名和密码,符合条件(假设用户名为JadeBird ,密码为0000)的进入系统 。
 

管理员类:

package com.bdqn.day01;
/**
 * @authorDesc 诸神在上,佑我程序,玄功护体,BUG皆去!
 * @author Xunan
 * @date 2022-07-20 16:33:06
 * @version 1.0.0
 * @description 管理员类
 */
public class Administrator {
    /**
    管理员姓名
     */
    String admin;
    /**
    密码
     */
    int password;
    /**
     * 新密码
     */
    int newPassword;
    /**
     * @description 修改方法
     * @author Xunan
     * @date 2022-07-20 16:40:38
     * @param
     * @return
     */
    public void amend(){
        if ("admin".equals(admin) && "123456".equals(password)){
            System.out.println("");
        }else {
            System.out.println();
        }
    }
}

测试类:

package com.bdqn.day01;

import java.util.Scanner;

/**
 * @authorDesc 诸神在上,佑我程序,玄功护体,BUG皆去!
 * @author Xunan
 * @date 2022-07-20 16:42:39
 * @version 1.0.0
 * @description 测试类
 */
public class AdministratorTest {
    /**
     * @description
     * @author Xunan
     * @date 2022-07-20 17:21:55
     * @param args
     * @return
     */
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int newPassword = 0;

        do {
            Administrator center = new Administrator();
            System.out.println("请输入用户名:");
            String admin = sc.next();
            System.out.println("请输入密码:");
            int password = sc.nextInt();
            if ("admin".equals(admin) && 123456 == password){
                System.out.println("请输入新密码:");
                newPassword = sc.nextInt();
                System.out.println("修改成功");
            }else {
                System.out.println("不匹配,您没有权限");
                break;
            }
            center.admin = admin;
            center.password = password;
            center.newPassword = newPassword;
            center.amend();
        }while (false);
    }
}

运行截图:

 

2.成员变量和局部变量、

定义:在类中定义的变量为类的成员变量,在方法中定义的变量称为局部变量。

例如:

public class AutoLion{

变量1类型  变量1;                     

变量2类型  变量2;     

变量3类型  变量3

public 返回类型 方法1(){

        变量4类型  变量4;

}                                                               

public 返回类型 方法2(){

        变量5类型   变量5;                     

}

以上变量1,2,3位成员变量;变量4,5为局部变量。

注:成员变量和局部变量的区别

1.作用域不同

局部变量的作用域仅限于定义它的方法
成员变量的作用域在整个类内部都是可见的

2.初始值不同

Java 会给成员变量一个初始值
Java 不会给局部变量赋予初始值

注意:在同一个方法中,不允许有同名局部变量,在不同的方法中,可以有同名局部变量。

           在同一个类中,成员变量和局部变量同名时,局部变量具有更高的优先级。

1.类的带参方法

语法格式:

<访问修饰符返回类型  <方法名>(<形式参数列表>) {

        //方法的主体

}

1.<访问修饰符>指的是该方法允许被访问的权限范围,只能是publicprotectedprivate。其中public表示该方法可以被任何其他代码调用。

2.<形式参数列表>是传递给方法的参数列表,列表中各参数间以逗号分隔,格式:数据类型  参数1, 数据类型  参数2,  … , 数据类型  参数n。如果n=0,则代表没有参数,这时的方法就是前面学习过的无参方法

调用一个有返回值类型的方法必须使用该返回值类型的变量或对象来接收。例子:
方法:
 public String get (){
 return "";

使用:
 String 变量名=对象.get ();

形参实参:形式参数实际参数

在定义方法和调用方法时,把参数分别称为形式参数和实际参数,简称形参和实参,形参是在定义方式时对参数的称呼,目的是定义方法需要传入的参数个数和类型,实参是在调用方式时传递给方法处理的实际的值。

调用方法时,需注意两点:

1:先实例化对象,在调用方法

2:实参的类型、数量、顺序都要与形参一 一对应(必须一一对应)

练习(2)

修改客户姓名,输入新、旧姓名,修改并显示是否修改成功。
 

修改客户类:

package com.bdqn.day03;


import java.util.Scanner;

/**
 * @authorDesc 诸神在上,佑我程序,玄功护体,BUG皆去!
 * @author Xunan
 * @date 2022-07-23 12:57:25
 * @version 1.0.0
 * @description 修改客户类
 */
public class Amend {
    Scanner sc = new Scanner(System.in);

    int i;

    /**
     * 客户姓名
     */
    String[] names = new String[5];

    /**
     * @description 输入客户信息
     * @author Xunan
     * @date 2022-07-23 13:21:06
     * @param name
     * @return
     */
    public void addname(String name){
        for (i = 0;i < names.length;i ++){
            if (names[i] == null){
                names[i] = name;
                break;
            }
        }
    }
    /**
     * @description 显示客户信息
     * @author Xunan
     * @date 2022-07-23 13:21:44
     * @param
     * @return
     */
    public void  showname() {
        System.out.println("***********************************");
        for (String name : names) {
            if (name != null) {
                System.out.println(name + "\t");
            }
        }
    }
    /**
     * @description 修改客户信息
     * @author Xunan
     * @date 2022-07-23 13:22:00
     * @param name
     * @return
     */
    public void amendname(String name){
        String newname;
        for (i = 0;i < names.length;i ++){
            if (name.equals(names[i])){
                System.out.println("请输入新的名字:");
                System.out.println("*********************************");
                newname = sc.next();

                names[i] = newname;
            }
        }

            showname();

    }
}

测试类:

package com.bdqn.day03;

import java.util.Scanner;

/**
 * @authorDesc 诸神在上,佑我程序,玄功护体,BUG皆去!
 * @author Xunan
 * @date 2022-07-23 13:13:04
 * @version 1.0.0
 * @description 测试类
 */
public class AmendTest {
    public static void main(String[] args) {
        String name;
        Scanner sc = new Scanner(System.in);
        Amend amend =new Amend();

        for (int i = 0;i < 5;i ++){
            System.out.println("请输入客户姓名:");
            name = sc.next();
            amend.addname(name);
        }

        amend.showname();


        System.out.println("请输入需要修改的名字");
        name = sc.next();
        amend.amendname(name);
    }
}

运行结果截图:

 

基本类型和引用类型传参的区别

1.如果方法传递的参数为基本数据类型时,操作传递的是变量的值,改变形式参数

的值不会影响实际参数的值。

2.如果方法传递的参数为引用数据类型时,传递参数的过程是把原对象的引用(可理解为内存地址)传递给另一个引用。

练习(3)[数组作为参数的方法]

编写带参方法,实现对客户姓名的排序。
 

客户姓名类:

package com.bdqn.day03;

import java.util.Arrays;

/**
 * @authorDesc 诸神在上,佑我程序,玄功护体,BUG皆去!
 * @author Xunan
 * @date 2022-07-23 13:49:17
 * @version 1.0.0
 * @description 客户姓名排序类
 */
public class Sort {

    public void rank (String[] names){
        Arrays.sort(names);
        for (String name : names) {
            System.out.println(name);
        }
    }

    public void show (String[] names){
        for (String name : names) {
            System.out.println(name);
        }
    }
}

测试类:

package com.bdqn.day03;
/**
 * @authorDesc 诸神在上,佑我程序,玄功护体,BUG皆去!
 * @author Xunan
 * @date 2022-07-23 13:48:09
 * @version 1.0.0
 * @description
 */
public class SortTest {
    public static void main(String[] args) {
        String[] names = {"tom","jack","merry","smith","sunny"};

        Sort sort = new Sort();
        System.out.println("**********************");
        sort.show(names);
        System.out.println("**********************");
        sort.rank(names);
    }
}

运行结果截图:

 

练习(4)[对象作为参数的方法]

客户信息的添加和显示,客户信息包括:姓名、年龄、是否有会员卡

客户属性类:

package com.bdqn.day03;
/**
 * @authorDesc 诸神在上,佑我程序,玄功护体,BUG皆去!
 * @author Xunan
 * @date 2022-07-23 14:25:41
 * @version 1.0.0
 * @description 客户属性类
 */
public class Customer {

    String name;

    int age;

    boolean vip;
}

测试类:

package com.bdqn.day03;
/**
 * @authorDesc 诸神在上,佑我程序,玄功护体,BUG皆去!
 * @author Xunan
 * @date 2022-07-23 14:29:39
 * @version 1.0.0
 * @description 测试类
 */
public class CustomerTest {
    public static void main(String[] args) {

        ShowInfor showInfor = new ShowInfor();



        Customer customer1 = new Customer();
        customer1.name = "王一";
        customer1.age = 30;
        customer1.vip = false;
        showInfor.addcustomer(customer1);




        Customer customer2 = new Customer();
        customer2.name =  "郝强";
        customer2.age = 19;
        customer2.vip = true;
        showInfor.addcustomer(customer2);


        showInfor.show();

    }
}

运行结果截图:

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

方片6

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值