zoukankan      html  css  js  c++  java
  • [零基础学JAVA]Java SE面向对象部分.面向对象基础(06)

    1.interface 接口

     2.设计模式(工厂模式)

    3.异常的捕获

    java:

    //接口中定义的全是public,即使不声明也是public的,
    //如果一个类定义的时候全部由抽象方法和全局常量所组成的话,那么这种类就称为接口
    /*
    interface A {        // 定义接口
        public static final String INFO = "Hello World ." ;
        public abstract void print() ;

    }

    interface B {
        public abstract void get() ;

    }

    class C implements A ,B{
        
        public    void print(){
            System.out.println(A.INFO);
        }

        public void get(){
            System.out.println("Get()");
        }

    }

    public class InterfaceTest{

        public static void main(String args[]){

            C c =new C();
            c.print();
            c.get();

            A a = new C();
            B b = new C();

            a.print();
            b.get();


        }
    }
    */

    //但是需要说明的是:接口之中的全部组成就是抽象方法和全局常量,那么在开发之中以下的两种定义接口的最终效果是完全一样的:
    //
    //完整定义:
    //    
    //    简化定义:
    //    interface A {       // 定义接口   
    //        public static final String INFO = "Hello World ." ;
    //        public abstract void print() ;
    //    
    //    } 
    //    interface A {       // 定义接口
    //        public String INFO = "Hello World ." ;
    //        public void print() ;
    //    }

    // 接口之中的访问权限只有一种:public,即:定义接口方法的时候就算没有写上public,那么最终也是public。
    //
    //  在Java之中每一个抽象类都可以实现多个接口,但是反过来讲,一个接口却不能继承抽象类,可是Java之中,一个接口却可以同时继承多个接口,以实现接口的多继承操作。
    //设计模式,工厂模式
    interface X{

        abstract void show();
    };

    class A implements X{
        public    void show(){
            System.out.println("A");
        }
    }
    class B implements X{

        public void show(){
            System.out.println("B");
        }
    };

    class Factory{
    //注意byte 与char 的区别与C++有差别, byte 是字节数据类型 ,是有符号型的,占1 个字节;大小范围为-128—127 。char 是字符数据类型 ,是无符号型的,占2字节(Unicode码 );大小范围 是0—65535 ;char是一个16位二进制的Unicode字符,JAVA用char来表示一个字符 。
        public X get(byte arg){
            X x = null;
            switch(arg){
                case (byte)'A':
                    x = new A();
                    break;
                case (byte)'B':
                    x = new B();
                    break;
                default:

            }
            return x;
        }
    };


    public class InterfaceTest{
        public static void main(String args[]){

            Factory factory = new Factory();

            X x = factory.get((byte)'A');

            x.show();

        }
    }




     
  • 相关阅读:
    jquery源码分析
    面试笔试整理3:深度学习机器学习面试问题准备(必会)
    深度学习岗位面试问题整理笔记
    常见面试之机器学习算法思想简单梳理
    TensorFlow与OpenCV,读取图片,进行简单操作并显示
    payload
    IPMB接口协议总结
    uboot 网络驱动模型
    对于phy芯片的认识
    网口扫盲三:以太网芯片MAC和PHY的关系
  • 原文地址:https://www.cnblogs.com/zhangsf/p/3337445.html
Copyright © 2011-2022 走看看