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();

        }
    }




     
  • 相关阅读:
    Android的数据存储
    Servlet第一天
    JavaScript高级程序设计读书笔记(3)
    Interesting Papers on Face Recognition
    Researchers Study Ear Biometrics
    IIS 发生意外错误 0x8ffe2740
    Father of fractal geometry, Benoit Mandelbrot has passed away
    Computer vision scientist David Mumford wins National Medal of Science
    Pattern Recognition Review Papers
    盒模型bug的解决方法
  • 原文地址:https://www.cnblogs.com/zhangsf/p/3337445.html
Copyright © 2011-2022 走看看