我不懂Java。
如果可能,只需要快速修复。
如何覆盖受保护的字符串?
我有:
UPDATE AffiliateComm
SET [OrderSubtotal]=(o.SubTotal - o.OrderDiscounts), [CommDue]=t.CommRate*(o.SubTotal - o.OrderDiscounts),[Status]='MODIFIED'
FROM bvc_Order o
INNER JOIN #tbl t
ON o.OrderNumber = t.OrderNumber
MYFILE:
UPDATE a
SET [OrderSubtotal]=(o.SubTotal - o.OrderDiscounts), [CommDue]=t.CommRate*(o.SubTotal - o.OrderDiscounts),[Status]='MODIFIED'
FROM AffiliateComm A
INNER JOIN bvc_Order o
ON o.OrderNumber = a.OrderNumber
INNER JOIN #tbl t
ON o.OrderNumber = t.OrderNumbe
如何在课程 MySomething 中使用d = {"key":("v1","v2")}
for key in d:
print((key,) + d[key])
?
感谢。
答案 0 :(得分:2)
实际上,其他人已经回答了你的问题。如果你真的不熟悉Java,那么对你的问题最简单的答案就是把上面提到的语句放在派生类的构造函数中:
解决方案一(实际上是错误的解决方案):
public class MySomething extends Something {
public MySomething() {
changeMe = "that"
}
}
更好的解决方案是在类Something
中定义一个setter方法,如下所示(如果您有权访问其源代码):
public void setChangeMe(String newValue) {
changeMe = newValue;
}
您可以通过调用
来更改值Something s = new Something();
s.setChangeMe("that");
答案 1 :(得分:0)
单词覆盖是编译器的提示,你知道你正在编写以你自己的方式实现父类或接口方法的代码。
说过覆盖变量/属性/字段是对术语的错误使用,并且没有多大意义
回答您的问题:您可以访问 changeMe 对象,因为它未定义为私有...因此您可以直接更改该值..
public static void main(String args[]) {
MySomething ms = new MySomething();
System.out.println(ms.changeMe);
ms.changeMe = "that";
System.out.println(ms.changeMe);
}