面向对象的相关练习
- instanceof不能判定两个毫不相干的对象和类
- 这种没有方法的接口叫做标识性接口-没有方法但是可以让类具备某种能力
public interface Creature
{
}
- 我想做燕子
只需简单思想
只求风中流浪
我想做树
不长六腑五脏
不会寸断肝肠
我做不成燕子
所以我
躲不过感情的墙
我做不成树
因此也
撑不破伤心的网
来生做燕子吧
随意找棵树休息翅膀
然后淡然飞向远方
来生做树吧
枝头的燕子飞走时
不去留恋地张望
package Homework12_14.future;
import Homework12_14.present.Creature;
public class PersonTest
{
public static void main(String[] args)
{
Creature person=new Person("康桥小雨");
if(person instanceof Swallow)
{
((Swallow) person).thinkSimply();
((Swallow) person).wanderInWind();
}
if(person instanceof Tree)
{
((Tree) person).beHeartless();
}
}
}
package Homework12_14.future;
import Homework12_14.present.Creature;
//类可以实现多个接口
public class Person implements Creature,Swallow,Tree
{
private String name;
public Person(String name)
{
this.name=name;
}
public String getName()
{
return name;
}
@Override
public void beHeartless()
{
System.out.println("不去留恋张望");
}
@Override
public void thinkSimply()
{
System.out.println("随意找棵树休息翅膀");
}
@Override
public void wanderInWind()
{
System.out.println("淡然飞向远方");
}
}
package Homework12_14.future;
import Homework12_14.present.Creature;
public interface Swallow extends Creature
{
//默认实现方法
public default void thinkSimply()
{
System.out.println("简单思想");
}
public default void wanderInWind()
{
System.out.println("风中流浪");
}
}
package Homework12_14.future;
import Homework12_14.present.Creature;
//接口可以继承接口,且可以多重继承
public interface Tree extends Creature
{
public default void beHeartless()
{
System.out.println("不长五胀六腑");
System.out.println("不会村断肝肠");
}
}
}