public void add(long... x){}
public void add(Integer... x){}
add(2);
Run Code Online (Sandbox Code Playgroud)
这会产生错误......为什么不进行加宽和装箱重叠?
但没有vararg超载工作正常
public void add(long x){}
public void add(Integer x){}
add(2);
Run Code Online (Sandbox Code Playgroud)
这里添加(长x)将执行扩大beats拳击...为什么不与var参数相同的概念
int[] a=new int[4];
Run Code Online (Sandbox Code Playgroud)
我认为当数组创建时..如果我是正确的,那么构造函数将调用(将元素赋值为默认值).其中就是构造函数..
为什么断言通常不用于部署?我研究过断言公共方法参数是不合适的.但是在部署中断言私有方法参数是合适的.为什么?
我们不能将接口中的抽象方法声明为protected和default(即使我们没有提到任何访问说明符(默认)编译器将其视为公共)
但是我们可以将抽象类中的抽象方法声明为protected和default.
为什么抽象类和接口有不同的规则?
需要捕获或声明在编译时抛出已检查的异常,但是运行时异常不需要...为什么我们只重要检查异常...
public class Ex
{
int a;
public Ex()
{
System.out.println("a is "+a);
}
}
Run Code Online (Sandbox Code Playgroud)
输出为:a为0
初始化的地方......
我知道int的默认值是零.我的问题是它在哪里被初始化...通过默认构造函数?(我听说默认构造函数是在我们没有提到类中的任何构造函数时创建的)
每当我移动地图时,Marker也随之移动但是我想通过将地图中心的标记保持为常数来移动地图.
我怎么能做到这一点?
我只想知道使用sendMessage (Message msg)
和 之间的确切区别是什么post (Runnable r)
。
由于这两种方法都将在Main UI Thread中运行,即使我们有单独的Runnable。
java ×8
android ×2
arrays ×1
assertions ×1
handler ×1
io ×1
overloading ×1
runnable ×1
stream ×1