多态

方法的重写重载

对象的向上转型(丢失掉子类的特有方法)

1.使用继承

2.子类重写父类的方法

3.父类使用子类的方法

instanceof

判断对象是否属于类

package com.jredu.ch06;
//父类
public abstract class Artist {
    public abstract void make();
}
package com.jredu.ch06;

public class Piano extends Artist{

    @Override
    public void make() {
        // TODO Auto-generated method stub
        System.out.println("我在弹钢琴");
    }
  

   public void play(){
     System.out.println("55555");
   }



    
}
package com.jredu.ch06;

public class Flute extends Artist{

    @Override
    public void make() {
        // TODO Auto-generated method stub
        System.out.println("我在吹口琴");
    }
  public void play(){
  }
}
package com.jredu.ch06;

public class AritistTest {
    public static void main(String[] args) {
    //向上转型 Artist art; art
= new Piano(); //父类引用子类对象 损失子类特有的属性和方法 art.make(); art = new Flute(); //父类引用子类对象,但不能调用子类的play()方法 art.make();

    //向下转型 恢复子类特有的属性和方法

      Piano art1 = new Piano();

      if(artist instanceof violin){

          sysout("假");

      }else{

        sysout("真");}
       art1 = (Piano) art;
      art1.play();

    }
}

原文地址:https://www.cnblogs.com/xiaolei121/p/5748356.html