学习总结!

equals关键字:

equals关键字只能用于比较引用数据类型,在object类中的equals与等号一样,就是比较两个变量地址是否一样,在String类中重写了equals,可以比较两字符串是否相等,在具体开发中我们可以重写类中的equals方法,来比较类中的某些属性是否相等。

 == 和equals的对比
1.==:既可以判断基本类型,又可以判断引用类型
2.==:如果判断类型为基本类型,判断的值是否相等
3.==:如果判断的是引用类型,判断的是地址是否相等,即是不是同一个对象
equals方法
1.equals:是Object类中的方法,只能判断引用类型
2.默认判断的是地址是否相等,子类中往往重写该方法,用于判断内容是否相等。

 to String关键字:

to String()方法是Object类中的方法,而Java中所有的类都继承了object类。我们在使用时可以将其重写。

默认的toString方法: 如果您的类没有显式覆盖(重写)toString 方法,它将继承自Object类中的默认实现。默认的toString 方法返回一个包含类名和哈希码的字符串,例如:“ClassName@hashCode”。这种默认行为对于调试和日志记录来说通常不是很有用,因为它没有提供对象的实际信息。

自定义的toString方法: 通过在您的类中重写toString 方法,您可以自定义对象的字符串表示形式。这使得您可以返回对象的实际属性值或其他相关信息,以便更容易地理解和调试代码。

 static关键字:

在java类中,static声明定义的变量为静态变量,也称为类变量;类变量的生命周期由类决定,类运行时加载static变量。

 static修饰的成员变量和方法,从属于类,普通变量和方法从属于对象,静态方法不能调用非静态成员,编译会报错。

 注意:虽然static修饰的方法不能访问类中的非静态成员变量和非静态方法,但是非静态成员方法却可以访问静态变量和静态成员方法;静态方法也是可以访问静态成员方法和静态变量的。

示例如下:

public class User {
    //static修饰的成员变量,内存中只有一份,可以被共享
    public static int onlineNumber = 16;
    //静态成员变量,直接用类名访问

    //实例成员变量 - 用对象访问
    private String name;
    private int age;

    public static void main(String[] args) {
        //直接用类名访问,不用对象
        //1.类名.静态成员变量
        System.out.println(User.onlineNumber);

        //2.对象名.实例成员变量
        User u = new User();
        //System.out.println(User.name); 不能用类名去访问实例成员变量
        u.name = "张三";
        u.age = 21;
        System.out.println(u.name);
        System.out.println(u.age);
        System.out.println("-----------");
        u.onlineNumber++;       //新来了一个人

        User u2 = new User();
        u2.name = "李四";
        u2.age = 22;
        System.out.println(u2.name);
        System.out.println(u2.age);
        System.out.println("-----------");
        u2.onlineNumber++;       //体现了共享的特点


        System.out.println(u.onlineNumber);
        System.out.println(User.onlineNumber);
        System.out.println(onlineNumber);
        //同一个类中静态成员变量的访问可以省略类型
    }
}

相关推荐

  1. 学习总结

    2024-04-01 14:48:04       5 阅读
  2. 学习总结

    2024-04-01 14:48:04       4 阅读
  3. 学习总结

    2024-04-01 14:48:04       1 阅读
  4. dva的学习总结

    2024-04-01 14:48:04       30 阅读
  5. PHP函数学习总结

    2024-04-01 14:48:04       33 阅读

最近更新

  1. leetcode705-Design HashSet

    2024-04-01 14:48:04       8 阅读
  2. Unity发布webgl之后打开streamingAssets中的html文件

    2024-04-01 14:48:04       8 阅读
  3. vue3、vue2中nextTick源码解析

    2024-04-01 14:48:04       9 阅读
  4. 高级IO——React服务器简单实现

    2024-04-01 14:48:04       8 阅读
  5. 将图片数据转换为张量(Go并发处理)

    2024-04-01 14:48:04       7 阅读
  6. go第三方库go.uber.org介绍

    2024-04-01 14:48:04       8 阅读
  7. 前后端AES对称加密 前端TS 后端Go

    2024-04-01 14:48:04       10 阅读

热门阅读

  1. fpga_awb

    fpga_awb

    2024-04-01 14:48:04      4 阅读
  2. Day1 - Hive基础知识

    2024-04-01 14:48:04       4 阅读
  3. 在Debian 11上安装GCC

    2024-04-01 14:48:04       4 阅读
  4. static修饰的方法为什么不能被覆盖?

    2024-04-01 14:48:04       5 阅读
  5. leetcode93.复原IP地址

    2024-04-01 14:48:04       3 阅读
  6. npm 与 yarn 命令比较

    2024-04-01 14:48:04       4 阅读
  7. Spring与Spring Boot的区别

    2024-04-01 14:48:04       5 阅读
  8. 修改aws账户的密码和MFA

    2024-04-01 14:48:04       6 阅读