Java面向对象--equeal和==

equals和==

笔记要点


== 判断左右两端的数据是否一致

equals: object类提供的一个方法,用来判断两个对象是否是一致的

equals 可以重写

实践代码


Cat类
public class Cat {
    String name;
    String color;
    public Cat(String name, String color) {
        this.color = color;
        this.name = name;
    }
    //      子类对父类提供的equals方法不满意,自己创一个
    public boolean equals(Cat c) {
        if(this.color == c.color) { // 单纯的自己写判断的逻辑
            return true;
        } else {
            return false;
        }
    }
    public static void main(String[] args) {
        Cat c1 = new Cat("小花","红色");
        Cat c2 = new Cat("小花", "红色");

        // == 一般用在基本数据类型上
        System.out.println(c1 == c2); // false 默认判断的是两个对象的内存地址是否一致

        System.out.println(c1.equals(c2)); // 默认调用的是Object提供的equal方法 结果为false
        // 子类创建equals方法后,调用子类的equals方法,结果为true

    }
}

Practice类
import java.util.Scanner;

public class Practice {
    public static void main(String[] args) {
        String username = "admin";
        String password = "123";

        System.out.println("请输入用户名");
        Scanner sc = new Scanner(System.in);
        String uname = sc.nextLine();
        System.out.println("请输入密码");
        String upwd = sc.nextLine();

        //判断用户名和密码是否正确
        if((uname.equals(username)) && upwd.equals(password)) {
            System.out.println("登陆成功");
        } else {
            System.out.println("登陆失败");
        }

    }
}

小练习


模拟登陆

Practice类
import java.util.Scanner;

public class Practice {
    public static void main(String[] args) {
        String username = "admin";
        String password = "123";

        System.out.println("请输入用户名");
        Scanner sc = new Scanner(System.in);
        String uname = sc.nextLine();
        System.out.println("请输入密码");
        String upwd = sc.nextLine();

        //判断用户名和密码是否正确
        if((uname.equals(username)) && upwd.equals(password)) {
            System.out.println("登陆成功");
        } else {
            System.out.println("登陆失败");
        }

    }
}
原文地址:https://www.cnblogs.com/isChenJY/p/12795612.html