Tag: 字段

当我在我的类的构造函数中声明并初始化它们时,为什么我的字段初始化为null或默认值为零?

这是一个典型的问题和答案,类似的问题,这个问题是阴影的结果。 我在我的类中定义了两个字段,一个是引用types,另一个是基本types。 在类的构造函数中,我尝试将它们初始化为一些自定义值。 当我稍后查询这些字段的值时,它们会返回Java的缺省值,对于引用types为null ,对于基本types为0。 为什么发生这种情况? 这是一个可重现的例子: public class Sample { public static void main(String[] args) throws Exception { StringArray array = new StringArray(); System.out.println(array.getCapacity()); // prints 0 System.out.println(array.getElements()); // prints null } } class StringArray { private String[] elements; private int capacity; public StringArray() { int capacity = 10; String[] elements; elements = new […]

为什么WPF支持绑定到一个对象的属性,但不是字段?

我有一个WCF服务,通过像这样的结构传递状态更新: [DataContract] public struct StatusInfo { [DataMember] public int Total; [DataMember] public string Authority; } … public StatusInfo GetStatus() { … } 我在ViewModel中公开一个属性,像这样: public class ServiceViewModel : ViewModel { public StatusInfo CurrentStatus { get{ return _currentStatus; } set { _currentStatus = value; OnPropertyChanged( () => CurrentStatus ); } } } 和XAML一样: <TextBox Text="{Binding CurrentStatus.Total}" /> […]

在Django表单中,如何使字段只读(或禁用),以便无法编辑?

在Django表单中,如何使字段为只读(或禁用)? 当表单被用来创build一个新条目时,所有的字段都应该被启用 – 但是当logging处于更新模式时,某些字段需要是只读的。 例如,当创build一个新的Item模型时,所有的字段都必须是可编辑的,但是在更新logging的时候,是否有办法禁用sku字段,使其可见,但不能被编辑? class Item(models.Model): sku = models.CharField(max_length=50) description = models.CharField(max_length=200) added_by = models.ForeignKey(User) class ItemForm(ModelForm): class Meta: model = Item exclude = ('added_by') def new_item_view(request): if request.method == 'POST': form = ItemForm(request.POST) # Validate and save else: form = ItemForm() # Render the view 可以重用类ItemForm吗? ItemForm或Item模型类需要进行哪些更改? 我是否需要编写另一个类“ ItemUpdateForm ”来更新项目? def update_item_view(request): if […]

为什么Java有瞬态字段?

为什么Java有瞬态字段?

C#3.0+中属性和字段的区别

我意识到这似乎是C#中的字段和属性之间有什么区别的重复? 但是我的问题有一点点差别(从我的观点来看): 一旦我知道了 我不会使用我的课程“只能在属性上工作的技巧” 我不会在getter / setter中使用validation码。 有没有什么区别(风格/未来发展的除外),如设置属性的某种types的控制? 是否有任何其他区别: public string MyString { get; set; } 和 public string myString; (我知道,第一个版本需要C#3.0或更高版本,并且编译器确实创build了私有字段。)

我如何阅读Java中的私人领域?

在第三方JAR我有一个devise不好的类,我需要访问它的一个私有字段。 例如,为什么我需要select私人领域是必要的? class IWasDesignedPoorly { private Hashtable stuffIWant; } IWasDesignedPoorly obj = …; 我如何使用reflection来获得stuffIWant的价值?

C#中的字段和属性有什么区别?

在C#中,是什么使一个字段不同于一个属性,什么时候应该使用一个字段而不是一个属性?