• 抽象类和接口的基本概念及演示


    1.抽象类

      a.抽象类的概念:只包含一个抽象方法的类就是抽象类。

      b.抽象方法:只声明而未实现的方法就是抽象方法。

      c.抽象类和抽象方法都必须用abstract来声明。

      d.抽象类必须被子类继承。

      代码实例演示:

      AskForLeave类

      

    /**
     * Created by Pres_cheng on 2016/8/29.
     * 请假条抽象类
     */
    public abstract class AskForLeave {
        private String name;
        private String date;
        private String reason;
    
        public AskForLeave(String name,String date,String reason){
            this.name = name;
            this.date = date;
            this.reason = reason;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
    
        public String getDate() {
            return date;
        }
    
        public void setDate(String date) {
            this.date = date;
        }
    
        public String getReason() {
            return reason;
        }
    
        public void setReason(String reason) {
            this.reason = reason;
        }
    
    
        public abstract String getContent();
    }

      Student类

      

    /**
     * Created by Pres_cheng on 2016/8/29.
     * 学生类
     */
    public class Student extends AskForLeave {
    
        private String theClass;
    
        public Student(String name, String date, String reason,String theClass) {
            super(name, date, reason);
            this.theClass = theClass;
        }
    
        @Override
        public String getContent() {
            return "	我是"+getName()+"我因"+getReason()+"不能上课,特此请假
    	日期:" + getDate();
        }
    }

      Main类

      

    /**
     * Created by Pres_cheng on 2016/8/29.
     */
    public class Main {
        public static void main(String []args){
            Student student =new Student("pres_cheng","2016-8-29","生病","计科13-2班");
            System.out.println(student.getContent());
        }
    }

    2.接口

      a.接口可以理解为一种特殊的类,里面全部都是由全局常量和公共抽象方法所组成。

      b.接口必须有子类,并且子类要继承所有抽象方法。

      c.一个子类可以实现多个接口,但只能继承一个抽象类。

      d.一个接口可以继承多个接口。

      e.一个子类可以继承抽象类同时实现接口。

      代码实例演示:

      Computer类

      

    public class Computer {
        public static void plugin(USB usb){
            System.out.println("usb开始工作");
            usb.start();
            usb.end();
        }
    }

      USB接口

      

    public interface USB {
        //设备开始工作
        public abstract void start();
        //设备结束工作,接口中方法默认为抽象方法,所以可省略public abstract
        void end();
    }

      UDisk接口

      

    public class UDisk implements USB {
        @Override
        public void start() {
            System.out.println("U盘开始工作");
        }
    
        @Override
        public void end() {
            System.out.println("U盘结束工作");
        }
    }

      Print接口

      

    public class Print implements USB {
        @Override
        public void start() {
            System.out.println("打印机开始工作");
        }
    
        @Override
        public void end() {
            System.out.println("打印机结束工作");
        }
    }

      Main类

      

    public class Main {
        public static void main(String[] args) {
            UDisk uDisk = new UDisk();
            Print print = new Print();
            Computer computer = new Computer();
            computer.plugin(uDisk);
            computer.plugin(print);
        }
    }
  • 相关阅读:
    Gridview利用DataFormatString属性设置数据格式
    Sqlserver 字符串操作
    解决“网络不存在或尚未启动”
    ASP.NET中Url重写后,打不开真正的Html页面
    jquery 清空表单
    Sqlserver2005远程访问
    FCKeditor 在Ie中弹出“未知工具栏项目”的暂时解决方法
    表单成功提交了,点后退显示网页过期
    找不到方法:“Void System.Web.UI.HtmlControls.HtmlForm.set_Action(System.String)”。
    LINQ 标准的查询操作符 设置操作符号 两个结果集的 并、交、差、唯一
  • 原文地址:https://www.cnblogs.com/prescheng/p/5819441.html
Copyright © 2020-2023  润新知