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]Java SE面向对象部分.面向对象基础(06)的更多相关文章

  1. 零基础学python习题 - Python必须知道的基础语法

    1. 以下变量命名不正确的是(D) A. foo = the_value B. foo = l_value C. foo = _value D. foo = value_& 2. 计算2的38 ...

  2. 076 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 01 Java面向对象导学

    076 01 Android 零基础入门 02 Java面向对象 01 Java面向对象基础 01 初识面向对象 01 Java面向对象导学 本文知识点:Java面向对象导学 说明:因为时间紧张,本人 ...

  3. 零基础学Java第五节(面向对象一)

    本篇文章是<零基础学Java>专栏的第五篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! 本文章首发于公众号[编程攻略] 类与对象 在哲学体系中,可以分为主 ...

  4. 零基础学Java第六节(面向对象二)

    本篇文章是<零基础学Java>专栏的第六篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! 本文章首发于公众号[编程攻略] 继承 创建一个Person类 我们 ...

  5. 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现

    088 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 02 封装的代码实现 本文知识点:Java封装的代码实现 说明:因为时间紧张,本人写博客过程中只 ...

  6. 099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类

    099 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 03 编写并测试Student类 本文知识点:编写并测试Subject类 说明: ...

  7. 101 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 05 通过方法实现学生类与专业类关联——方案二

    101 01 Android 零基础入门 02 Java面向对象 03 综合案例(学生信息管理) 02 案例分析及实现 05 通过方法实现学生类与专业类关联--方案二 本文知识点:通过方法实现学生类与 ...

  8. 零基础学Java,PayPal技术专家手把手带你入门

    在最权威的 TIOBE 编程语言排名榜单上,Java 常年稳居第一,可以说是世界上应用最为广泛的一门语言. 同时,在微服务.云计算.大数据.Android App 开发等领域,Java 也是当之无愧的 ...

  9. 零基础学Java第三节(基本输入输出)

    本篇文章是<零基础学Java>专栏的第三篇文章,文章采用通俗易懂的文字.图示及代码实战,从零基础开始带大家走上高薪之路! 本文章首发于公众号[编程攻略] Java程序的命令行参数 我们可以 ...

  10. # 095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 03 封装总结 01 封装知识点总结

    095 01 Android 零基础入门 02 Java面向对象 02 Java封装 01 封装的实现 03 # 088 01 Android 零基础入门 02 Java面向对象 02 Java封装 ...

随机推荐

  1. shell脚本生成服务器密码

    #!/bin/bash len=90 str=(a b c d e f g h i j k l m n o p q r s t u vw x y z A B C D E F G H I J K L M ...

  2. nohup磁盘打满问题排查与解决

    使用nohup ... & 命令启动服务器后,磁盘满了,服务宕了,然后一步一步排查是哪个文件过大,最终定位到是nohup.out文件过大,占了40G, df -lh #磁盘容量命令 du -s ...

  3. 八、window搭建spark + IDEA开发环境

    本文将简单搭建一个spark的开发环境,如下: 1)操作系统:window os 2)IDEA开发工具以及scala插件(IDEA和插件版本要对应): 2-1)IDEA2018.2.1:https:/ ...

  4. Java设计模式浅谈

    1.java的设计模式可以分为3类: 创建型模式(5种):工厂模式,抽象工厂模式,建造者模式,单例模式,原型模式: 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式和 ...

  5. php之连接mssql(sql server)新手教程

    ps:网上搜了很多教程,讲的都很好,就是都有点漏的地方,花了一天时间查缺补漏终于弄好了(;´༎ຶД༎ຶ`),希望我的教程能帮到新手,还有写博客的时候因为不小心按错一个键,导致重写了,博客园这个编辑器真 ...

  6. 伪元素::before与::after的用法

    ::before与::after两个伪元素其实是CSS3中的内容,然而实际上在CSS2中就已经有了这两者的身影,只不过CSS2中是前面加一个冒号来表示(:before和:after).今天主要讲讲这两 ...

  7. JS 数据容量转换/换算

    function diskSize(num){ if (num == 0) return '0 B'; var k = 1024; //设定基础容量大小 var sizeStr = ['B','KB' ...

  8. volley6--CacheDispatcher从缓存中获取数据

    源码: /* * Copyright (C) 2011 The Android Open Source Project * * Licensed under the Apache License, V ...

  9. 5 使用ip代理池爬取糗事百科

    从09年读本科开始学计算机以来,一直在迷茫中度过,很想学些东西,做些事情,却往往陷进一些技术细节而蹉跎时光.直到最近几个月,才明白程序员的意义并不是要搞清楚所有代码细节,而是要有更宏高的方向,要有更专 ...

  10. 4 使用Selenium模拟登录csdn,取出cookie信息,再用requests.session访问个人中心(保持登录状态)

    代码: # -*- coding: utf-8 -*- """ Created on Fri Jul 13 16:13:52 2018 @author: a " ...