适配器设计模式,为解决接口的抽象方法过多,普通实现很麻烦,就需要一个适配器类。
多态:
class JavaDemo36
{
public static void main(String[] args)
{
//System.out.println("Hello World!");
Orange orange = new Orange();
System.out.println(orange);
new Person().eat(new Apple());
new Person().eat(new Banana());
Fruit f = new Apple();
Apple a = (Apple)f;
if(f instanceof Orange){
Orange Orange1 = (Orange)f;
}else{
System.out.println("我是不是神仙!");
}
//DD dd = new DD();
//EE ee = (EE)dd;
}
}
class Person
{
/*
public void eat(Apple temp){
System.out.println("吃:"+temp);
}
public void eat(Banana temp){
System.out.println("吃:"+temp);
}
*/
//多态
public void eat(Fruit temp){
System.out.println("吃:"+temp);
}
}
interface Fruit
{
}
class Orange implements Fruit
{
public String toString(){
return "橘子";
}
}
class Apple implements Fruit
{
public String toString(){
return "苹果";
}
}
class Banana implements Fruit
{
public String toString(){
return "香蕉";
}
}
class DD
{
}
class EE extends DD
{
}
object:是所有类的根类,所有的类都是子类。
直接打印对象实例,输出的是tostring()方法的返回值,默认getclass().getName() +'@' +Integer.
java中向下转型,必须要先向上转型