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

1.类的无参方法

语法格式:

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

           //方法的主体

}

返回值的两种情况:

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

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

在方法调用中需注意:

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

方法不能返回多个值!

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

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

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

对象.get ();

练习:测试类

public class Administrator {
    String admin;
    int password;
    int newPassword;
    public void amend(){
        if ("admin".equals(admin) && "123456".equals(password)){
            System.out.println("");
        }else {
            System.out.println();
        }
    }
}

管理员类

    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, 数据类型  参数2,  … , 数据类型  参数n。如果n=0,则代表没有参数,这时的方法就是前面学习过的无参方法

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

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

调用方法时,需注意两点

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

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

练习:

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

修改类:

public class Amend {
    Scanner sc = new Scanner(System.in);
 
    int i;
    String[] names = new String[5];
    public void addname(String name){
        for (i = 0;i < names.length;i ++){
            if (names[i] == null){
                names[i] = name;
                break;
            }
        }
    }
    public void  showname() {
        System.out.println("***********************************");
        for (String name : names) {
            if (name != null) {
                System.out.println(name + "\t");
            }
        }
    }
    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();
 
    }
}

测试main方法:

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

练习:

[数组作为传参]

客户姓名类:

//客户姓名排序类
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);
        }
    }
}

Main:

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);
    }
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值