一、 Instanceof关键字
1、 该语句一般判断某个对象是否为某个类的实例,是返回true,不是返回false,
2、 语法:对象 instanceof 类型,返回布尔型
二、 父类设计发则
1、 父类一般都设计为抽象类或者接口,其中优先考虑接口,如果接口不满足才考虑抽象类
2、 一个具体的类尽可能的不去继承另外一个具体的类,这样的好处就是无需检查是否为父类的对象
代码如下:
/**
instanceof关键字
*/
class IntanceofKeyDemo
{
public static void main(String[] args)
{
Man man = new Man();
say(man);
Woman woman = new Woman();
say(woman);
}
public static void say(Person p)//本方法来个功能第一:输出所有的男女说的话
//第二:如果是女生对象则输出生气是说的话
{
p.say();
if(p instanceof Woman)
{
Woman w = (Woman)p;
w.getAngry();
}
}
/*public static void say(Man m)
{
m.say();
}
public static void say(Woman w)
{
w.say();
}
*/
}
abstract class Person
{
private String name;
public void setName(String name)
{
this.name = name;
}
public String getName()
{
return name;
}
public abstract void say();//抽象方法
}
class Man extends Person
{
public void say()
{
System.out.println(“人家是纯爷们”);
}
}
class Woman extends Person
{
public void say()
{
System.out.println(“人家是女生哦”);
}
//本类中进行扩展的方法
public void getAngry()
{
System.out.println(“讨厌了,人家生气了啦!我去,真矫情!”);
}
}