• [零基础学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();

        }
    }




     
  • 相关阅读:
    java stackoverflowerror与outofmemoryerror区别
    JVM参数笔记
    记录一次JVM配置优化的案例
    JVM相关内容简介(转)
    Spring boot中的定时任务(计划任务)
    netty学习:UDP服务器与Spring整合(2)
    netty学习:UDP服务器与Spring整合
    maven 纯注解一步一步搭建Spring Mvc项目(入门)
    将class类对象转化成json的数据格式
    Spring五个事务隔离级别和七个事务传播行为
  • 原文地址:https://www.cnblogs.com/zhangsf/p/3337445.html
Copyright © 2020-2023  润新知