package com.lining;
public class Test {
public void play(animal a){
System.out.println("动物年龄为:"+a.age);
}
public static void main(String[] args){
Cat cat=new Cat(12,45);
Cat cat2=new Cat(12,45);
System.out.println("值为:"+cat.equals(cat2));
System.out.println("值为:"+(cat==cat2));
String str="lining";
String str2="lining";
System.out.println("值为:"+str.equals(str2));
System.out.println("值为:"+(str==str2));
Dog dog=new Dog(23,45);
animal ani=new animal(10);
System.out.println("cat is or isn't a animal ?"+(cat instanceof animal));
System.out.println("dog is or isn't a animal ?"+(dog instanceof animal));
System.out.println("ani is or isn't a animal ?"+(ani instanceof animal));
System.out.println("ani is or isn't a cat ?"+(ani instanceof Cat));
Test t=new Test();
t.play(ani);
t.play(cat);
t.play(dog);
animal a=(animal)cat;
System.out.println("a is or isn't a cat ?"+(a instanceof Cat));
}
}
class animal{
int age;
animal(int a){
this.age=a;
}
}
class Cat extends animal{
int age;
int weight;
Cat(int a,int w){
super(a);
this.age=a;
this.weight=w;
}
public boolean equals(Object obj){
if(obj==null)
{
return false;
}
else if(obj instanceof Cat){
return true;
}
else
{
return false;
}
}
}
class Dog extends animal{
int age;
int weight;
Dog(int a,int w)
{
super(a);
this.age=a;
this.weight=w;
}
}
===============================================================
值为:true
值为:false
值为:true
值为:true
cat is or isn't a animal ?true
dog is or isn't a animal ?true
ani is or isn't a animal ?true
ani is or isn't a cat ?false
动物年龄为:10
动物年龄为:12
动物年龄为:23
a is or isn't a cat ?true