zoukankan      html  css  js  c++  java
  • java===java基础学习(15)---抽象,接口

     

    抽象

    //这就是一个抽象类
    abstract class Animal
    {
        String name;
        int age;
        abstract public void cry();
            
        }
    
    //当一个类继承的父类是抽象的话
    //需要我们把继承类中的所有方法全部实现
    class cat extends Animal
    {
        public void cry() {
            // do nothing
            
        }
    }

     

    用 abstract 关键字来修饰一个类时,这个类就是抽象类。
    用 abstract 关键字来修饰一个方法时,这个方法就是抽象方法。

    注意事项:
    抽象类不能被实例化
    抽象类不一定要包含 abstract 方法。也就是说 ,抽象类可以没有abstract方法。
    一旦这个类包含 abstract 方法,则这个类必须声明为abstract
    抽象方法不能有主题,例如:

     

    接口

    /*
     * 功能:接口
     * 
     */
    
    package demo;
    
    public class test3 {
        public static void main(String []args) {
            Computer computer = new Computer();
            
            Camera camera1 = new Camera();
            
            Phone phone1 = new Phone();
            
            computer.useUsb(camera1);
            computer.useUsb(phone1);
            
        }
    }
    
    interface Usb
    {
        int a = 1;
        //声明两个方法
        //开始工作
        public void start();
        //停止工作
        public void stop();
        
    }
    
    
    //编写一个照相机类,并且实现usb接口
    //一个重要原则:当一个类实现了一个接口
    //就要求该类把这个接口的所有方法,统统实现
    class Camera implements Usb
    {
        public void start()
        {
            System.out.println("我是相机,开始工作!");
        }
        
        public void stop()
        {
            System.out.println("我是相机,停止工作!");
            
        }
    }
    
    //实现一个手机类
    class Phone implements Usb
    {
        public void start()
        {
            System.out.println("我是手机,开始工作!");
        }
        
        public void stop()
        {
            System.out.println("我是手机,停止工作!");
        }
        
    }
    
    
    class Computer
    {
        public void useUsb(Usb usb) 
        {
            usb.start();
            usb.stop();
        }
    }


    接口注意事项:

    1.接口不能被实例化
    2.接口中的所有方法都不能有主体
    3.一个类可以实现多个接口
    4.接口中可有变量[但,变量不能用 private 和 protected 修饰]
    a.接口中的变量,本质上都是static的,不管你加不加static修饰
    b.在Java开发中,我们经常把常用的变量,定义在接口中,作为全局变量使用
    5.一个接口不能继承其它的类,但是可以继承别的接口

    实现接口 VS 继承类:
    1,实现接口可以看作是对继承的一种补充

    2, 实现接口可在不打破继承关系的前提下,对某个功能扩展,非常灵活


    小结:
    接口随是更加抽象的抽象的类,抽象类里的方法可以有方法体,接口里的所有方法都没有方法体。接口体现了程序设计的多态和高内聚低耦合的设计思想。

     

  • 相关阅读:
    H5+ 分享到微信、朋友圈代码示例
    H5+ 重写在线升级版本比较代码
    H5+ a页面打开b页面,b页面加载成功后关闭当前页面,闪屏的规避解决方案
    MUI
    MUI
    MUI
    MUI
    Vue实战之【企业开发常见问题】
    step1:准备歌词之《前端开发是个啥》
    element-ui级联选择器(Cascader)获取级联对象 (主要是想获取:label值)
  • 原文地址:https://www.cnblogs.com/botoo/p/8858433.html
Copyright © 2011-2022 走看看