• 面向对象第6课——多态——抽象


    											//多态课件————抽象
    
    //多态包括,方法重载、方法重写、对象转型、抽象、接口
    package chouxiang;
    //机器人
    //抽象类abstract                  (如果该类中存在抽象方法必须定义成抽象类)(如果该类中没有抽象方法,也可以定义为抽象类)
    public abstract class Robot {
    //方法
    	//听
    	public void listen()
    	{
    		System.out.println("我能听了");
    	}
    	//说
    	public void speak()
    	{
    		System.out.println("我能说了");
    	}
    	//跑
    	//抽象方法abstract(没有方法体的方法)
    	public abstract void run();
    	//跳
    	public abstract void jump();
    }
    //抽象abstract总结:
    //抽象类总结:
    //定义方式:修饰符  abstract class 父类名称{}
    //特点:如果该类中存在抽象方法必须定义成抽象类;如果该类中没有抽象方法,也可以定义为抽象类
    //抽象类不能直接实例化。必须继承抽象类,必须实现抽象方法,   如果不能完全实现抽象方法,还需定义成抽象类。
    //
    //抽象方法:
    //定义方式:修饰符 abstract返回类型 方法名 (参数列表);
    //特点:只有方法的声明,实现实现方法(没有体)。
    //
    //不能用abstract修饰私有属性、构造方法、静态方法、私有方法。
    
    
    
    package chouxiang;
    //继承抽象类,必须实现抽象方法,     如果不能完全实现抽象方法,还需定义成抽象类。
    public abstract class T100 extends Robot {
    	//实现抽象方法
    	@Override
    	public void run() {
    		System.out.println("I can run");
    
    	}
    
    //	@Override
    //	public void jump() {
    //		System.out.println("I can jump");
    //
    //	}
    
    }
    
    
    
    package chouxiang;
    
    public class T200 extends T100 {
    
    	@Override
    	public void jump() {
    		
    	System.out.println("I can jump");
    
    	}
    
    }
    
    
    
    package chouxiang;
    
    public class Robottest {
    
    	public static void main(String[] args) {
    		//抽象类不能被直接实例化
    //		Robot r=new Robot();
    		T200 T2=new T200();
    		T2.listen();
    		T2.speak();
    		T2.run();
    		T2.jump();
    
    	}
    
    }
    

      

  • 相关阅读:
    Linux网卡设置
    Linux虚拟机-----概述(1)
    Redis缓存数据库-----概述(1)
    Spring和Mybatis的集成
    onehot编码解释
    LINUX-CUDA版本所对应的NVIDIA驱动版本号,cuda版本报错的朋友参考一下
    matplotlib画图
    pytorch实现花朵数据集读取
    轻量架构ShuffleNet V2:从理论复杂度到实用设计准则
    CBAM: 卷积块注意模块
  • 原文地址:https://www.cnblogs.com/zhangnaitao/p/5907915.html
Copyright © 2020-2023  润新知