Java学习总结(一)

Object

  • Object类是所有类java类的父类
  • 如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object

" == " 操作符和equals()

==是判断两个人是不是住在同一个地址,而equals是判断同一个地址里住的人是不是同一个

" == " 操作符:
  • 检查如果两个操作数的值是否相等,如果相等则条件为真。
  • 基本类型比较值:只要两个变量的值相等,即为true。
  • 引用类型比较引用(是否指向同一个对象):只有指向同一个对象时, == 才返回true。
  • 用 == 进行比较时,符号两边的数据类型必须兼容(可自动转换的基本数据类型除外),否则编译出错。
equals():
  • 所有类都继承了Object,也就获得了equals()方法。还可以重写。
  • 只能比较引用类型,其作用与“==”相同,比较是否指向同一个对象。

格式:a.equals(b)

  • 当用equals()方法进行比较时,对类File、String、Date及包装类 (Wrapper
    Class)来说,是比较类型及内容而不考虑引用的是否是同一个对象。

  • 原因:在这些类中重写了Object类的equals()方法。

  • 当自定义使用equals()时,可以重写。用于比较两个对象的“内容”是否都相等。

toString

toString()方法在Object类中定义,其返回值是String类型,返回类名和它的引用地址
在进行String与其它类型数据的连接操作时,自动调用toString()方法

Date now=new Date();
System.out.println(“now=+now);

相当于

System.out.println(“now=+now.toString());

可以根据需要在用户自定义类型中重写toString()方法
如String 类重写了toString()方法,
返回字符串的值。

 s1="hello";
System.out.println(s1);

相当于

System.out.println(s1.toString());

基本类型数据转换为String类型时,调用了对应包装类的toString()方法

int a=10; 
System.out.println("a="+a);

包装类

Java语言是一个面向对象的语言,但是Java中的基本数据类型却是不面向对象的。基本类型的数据不具备"对象"的特性(没有成员变量和成员方法可以调用),因此,java为每种数据类型分别设计了对应的类,即包装类。

拆箱装箱机制:

在这里插入图片描述

static

  • 使用范围:类中:属性,方法,代码块,内部类
  • 被修饰成员特点:
    (1)随着类的加载而加载
    (2)优先于对象存在
    (3)修饰成员被所有对象共享
    (4)访问权限允许时,可以不创建对象,可以直接使用
  • static修饰的方法不能被重写

单例模式

1.单例类只能有一个实例。
2.单例类必须自己创建自己的唯一实例。
3.单例类必须给所有其他对象提供这一实例。
实现方式:
1.构造器私有化
2.提供静态方法返回对象

举例(懒汉式):
public class Singleton {
    private static Singleton singleton;//null

	//构造器私有化
    private Singleton() {
    }

    public static Singleton getSingleton() {
    	//判断创建的对象是否为空
        if (singleton == null) {
            singleton = new Singleton();
        }
        return singleton;
    }
}

class A{
    public static void main(String[] args) {
        Singleton singleton = Singleton.getSingleton();
        Singleton singleton1 = Singleton.getSingleton();
        Singleton a = Singleton.getSingleton();
        
        System.out.println(singleton);
        System.out.println(singleton1);
        System.out.println(a);
    }
}

输出结果:
单例模式下创建对象是同一个,地址相同!
单例模式下创建对象是同一个,地址相同!

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

没谱的曲

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

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

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

打赏作者

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

抵扣说明:

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

余额充值