对于类变量,向上铸造和向下铸造有什么区别?
例如,在下面的程序类中,Animal只包含一个方法但Dog类包含两个方法,那么我们如何将Dog变量转换为Animal变量.
如果完成了施法,那么我们如何使用Animal的变量调用Dog的另一种方法.
class Animal
{
public void callme()
{
System.out.println("In callme of Animal");
}
}
class Dog extends Animal
{
public void callme()
{
System.out.println("In callme of Dog");
}
public void callme2()
{
System.out.println("In callme2 of Dog");
}
}
public class UseAnimlas
{
public static void main (String [] args)
{
Dog d = new Dog();
Animal a = (Animal)d;
d.callme();
a.callme();
((Dog) a).callme2();
}
}
Run Code Online (Sandbox Code Playgroud) 我想要一个关于equals(),"=="和hashCode()的简短定义.如果我运行以下代码意味着输出将是"true false 2420395 2420395".但我明白equals()方法比较字符串和"=="比较引用.但是在输出中,hashCcode()方法将两个字符串的引用号打印为相同,然后"=="返回"false".
String str = "Name";
String str1 = new String("Name");
if(str.equals(str1))
System.out.println("true");
else
System.out.println("false");
if(str==str1)
System.out.println("true");
else
System.out.println("false");
System.out.println(str.hashCode());
System.out.println(str1.hashCode());
}
Run Code Online (Sandbox Code Playgroud) 如何在bootstrap-3中的另一个表内创建表.我尝试但它会在我创建的第一个表之后显示,但输出不同.