class Person{}
class Student extends Person{}
class Postgraduate extends Student{}
class Animal{}
public class InstanceofTester
{
public static void main(String[] args)
{
instanceofTest(new Student());
}
public static void instanceofTest(Person p)
{
// 判断p的真正类型
if (p instanceof Postgraduate){
System.out.println("p是类Postgraduate的实例");
}
else if(p instanceof Student)
{
System.out.println("p是类Student的实例");
}
else if(p instanceof Person)
{
System.out.println("p是类Person的实例");
}
else if(p instanceof Object)
{
System.out.println("p是类Object的实例");
}
}
}在main方法的一个方法:instanceofTest(new Student());
为什么没有方法体,我用eclipse编的的时候为什么提示class Person{}
中Person已经定义了,编译却任通过??
class Student extends Person{}
class Postgraduate extends Student{}
class Animal{}
public class InstanceofTester
{
public static void main(String[] args)
{
instanceofTest(new Student());
}
public static void instanceofTest(Person p)
{
// 判断p的真正类型
if (p instanceof Postgraduate){
System.out.println("p是类Postgraduate的实例");
}
else if(p instanceof Student)
{
System.out.println("p是类Student的实例");
}
else if(p instanceof Person)
{
System.out.println("p是类Person的实例");
}
else if(p instanceof Object)
{
System.out.println("p是类Object的实例");
}
}
}在main方法的一个方法:instanceofTest(new Student());
为什么没有方法体,我用eclipse编的的时候为什么提示class Person{}
中Person已经定义了,编译却任通过??
你这不是调用
public static void instanceofTest(Person p)
方法么~~~
{
}class Student extends Person
{
}class Postgraduate extends Student
{
}class Animal
{
}public class InstanceofTester
{
public static void main(String[] args)
{
// TODO Auto-generated method stub
instanceofTest(new Student());
} public static void instanceofTest(Person p)
{
// 判断p的真正类型
if (p instanceof Postgraduate)
{
System.out.println("p是类Postgraduate的实例");
}
else if (p instanceof Student)
{
System.out.println("p是类Student的实例");
}
else if (p instanceof Person)
{
System.out.println("p是类Person的实例");
}
else if (p instanceof Object)
{
System.out.println("p是类Object的实例");
}
}
}
可以正常编译通过,打印"p是类Student的实例"。