Я могу сбросить статический/общий класс?

getResource () предоставляет URL-адрес файла в jar-файле (zip-файл). Java не может открыть это напрямую.

Вам либо нужно развернуть zip-файл в каталог и обновить в каталоге.

Или прочитайте и измените zip-файл. Я, однако, должен спросить, почему вы могли бы сделать это? Ресурсы путей к классам обычно должны быть доступны только для чтения

6
задан dr. evil 4 May 2009 в 17:49
поделиться

3 ответа

Нет способа сделать это так же, как модель, которую вы только что указали. Причина в том, что нет резервного хранилища данных для «сброса». Однако вы можете смоделировать это, используя явный метод для инициализации всех наших данных.

Public Module MyClass

  Public Sub Reset()
    Field1 = 42
    Field2 = "foo"
  End Sub

  Public Shared Field1 As Integer
  Public Shared Field2 As String
End Module

Версия с классом против модуля.

Public Class MyClass
  Shared Sub New()
    Reset
  End Sub
  Private Sub New()
    ' Prevent instantiation of the class
  End Sub

  Public Sub Reset()
    Field1 = 42
    Field2 = "foo"
  End Sub

  Public Shared Field1 As Integer
  Public Shared Field2 As String
End Class
8
ответ дан 8 December 2019 в 18:41
поделиться

Вы не можете сделать это в статическом классе, так как нет экземпляра статического класса.

Два варианта состоят в том, чтобы переключиться (назад) на одиночный. [1220 В качестве альтернативы, у вас может быть метод, который сбрасывает каждый из статических членов класса.

3
ответ дан 8 December 2019 в 18:41
поделиться

Возможно статический метод, который при вызове сбрасывает все переменные в значения по умолчанию.

1
ответ дан 8 December 2019 в 18:41
поделиться