我在采访中碰到这个问题就来了,那如何让没有final关键字变量不断在Java制作一个变量不变,而无需使用final关键字
回答
我怀疑他们在寻找一个答案“内声明的变量一个界面“。根据Java语言规范,在接口中声明的所有变量都默认为static和final:
interface Foo {
int BAR = 100;
}
class Test {
public static void main (String[] args) throws java.lang.Exception
{
System.out.println(Foo.BAR);
}
}
很好的答案,但这样的面试问题的目的是什么?检查你是否是好程序员?好的程序员首先不会在Interaces中创建常量。 –
@KrzysztofCichocki我不是这个面试问题的人,所以我不能告诉你这个问题的目的。对我来说,这是一个合法的Java语言难题。 – dasblinkenlight
好吧,在相同的风格有一个伟大的难题:是否有可能在Java中抛出检查异常从dosn't不声明它的方法?是。但是如果你这样做,那么你是一个糟糕的程序员,那么当这个问题有什么价值的时候,有人知道这个问题的答案,当有更多更重要的事情需要知道时? –
您可以强制这样的变量是有效的决赛。例如,在流中使用它。
int a = 1;
Stream.of(1, 2, 3, 4, 5).map(e -> e + a).forEach(System.out::println);
a = 12; // this line leads to a compile error
- 1. 增加一个变量而不使用静态关键字
- 2. 更改函数中的全局变量,而无需使用global关键字
- 3. 如何不使用final关键字
- 4. 变量,而无需使用全球
- 5. 强制使字段作为final来使类不可变
- 6. 作弊用java final关键字
- 7. BigDecimal.java关键字“final”
- 8. 在变量bash关联数组中使用变量作为键
- 9. 设置另一个控制器范围的变量,而无需使用angular.element(Angularjs)
- 10. 制作一个变量使用“如果”,并与空变量
- 11. 如何将一个变量作为关键字?
- 12. 我可以把关键字作为一个公共变量?
- 13. 使用变量作为预定义关键字(Python)的函数的关键字
- 14. 使用变量作为字典键
- 15. 制作一个数字变量分类
- 16. Java和使用Final关键字
- 17. 在java中使用“final”关键字
- 18. 静态变量 - 另一个关键字,我可以用于实例变量?
- 19. 同步多个delete语句,而无需使用“GO”关键字
- 20. 如何在JSON对象使用一个字符串变量作为关键
- 21. 我们如何使用关键字返回变量的关键字使用“设置变量if”RobotFramework
- 22. elasticache如何复制配置组default.redis3.2为了改变一个参数,而无需编写的103个不变键
- 23. 存储多个记录到变量,而无需使用游标
- 24. Java的关键词与支架和使用关键字作为变量名,像这样的变量
- 25. 在rails中使用end关键字作为变量
- 26. 在INI文件中使用关键字作为变量名
- 27. 交换两个变量,而无需使用第三个变量作为中介位置
- 28. 如何理解“变量在使用volatile关键字时不参与与其他状态变量的不变量”?
- 29. 是java扩展关键字的一个引用变量吗?
- 30. C++ - 如何从调用函数的变量,而无需使用全局变量
相当愚蠢的面试问题,而不是真正需要在现实生活中做这样的事情。接口中的常量是非常非常糟糕的代码气味。没有人用这种方式编程是件好事,不知道/记住这个更好,不要被诱惑:) –
@MadaraUchiha我不认为这个问题太宽泛 - 它具体到面试的背景下提供一个明确的答案。 – dasblinkenlight