• 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, 实现接口可在不打破继承关系的前提下,对某个功能扩展,非常灵活


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

     

  • 相关阅读:
    C#中remoting和webservice的区别
    Nhibernate了解(转载)
    深入浅出JSON
    Asp.net页面传值总结(转载)
    .Net ViewState的实现(转载)
    asp.net数据绑定之Eval和Bind区别
    PetShop数据库解读
    .Net 2.0 缓存使用(转载)
    ASP.NET中EVAL用法大全
    a:hover和a:visited书写顺序的重要性
  • 原文地址:https://www.cnblogs.com/botoo/p/8858433.html
Copyright © 2020-2023  润新知