The problem is into first script, Update function. I cant achieve _player.CurrentHealth and cant understand why. Help pls

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

[RequireComponent(typeof(Slider))]
public class HealthBar : MonoBehaviour
{
[SerializeField] private float _smoothness;
private Player _player;
private Slider _slider;

private void Start()
{
    Debug.Log(_player.CurrentHealth);
}

public void SetMaxHealth(float health)
{
    _slider = GetComponent<Slider>();
    _slider.maxValue = health;
    _slider.value = health;
}

public void SetHealth(float health)
{
    _slider.value = health;
}

private void Update()
{
    if (_slider.value != _player.CurrentHealth)
        _slider.value = Mathf.Lerp(_slider.value, _player.CurrentHealth, _smoothness * Time.deltaTime);
}

}

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Player : MonoBehaviour
{
[SerializeField] private float _maxHealth;
[SerializeField] private HealthBar _healthBar;

private float _currentHealth;

public float CurrentHealth => _currentHealth;

private void Start()
{
    _currentHealth = _maxHealth;
    _healthBar.SetMaxHealth(_maxHealth);
}

public void ChangeHealth(float health)
{
    _currentHealth = health;

    if (health < 0)
    {
        _currentHealth = 0;
    }
    else if (health > _maxHealth)
    {
        _currentHealth = _maxHealth;
    }

    _healthBar.SetHealth(_currentHealth);
}

}

oh sorry, it was easy, i forgot to attach my player to the 1 script(with serializefield)