Class1:

Friend Sub Save
Debug.Print "Class1.Save"
end Sub
Private Sub Class_Initialize
Debug.Print "Class1.Initialize"
End Sub

Private Sub Class_Terminate
Debug.Print "Class1.Terminate"
End Sub





Class2:

Dim oClass1 As Class1

Public Sub Save
oClass1.Save
End Sub

Private Sub Class_Initialize
Set oClass1 = New Class1
End Sub

Private Sub Class_Terminate
Save
Set oClass1 = Nothing
End Sub


When I run it results =

Class1.Initialize
Class1.Terminate
Class1.Save



How is this possible?