精华内容
下载资源
问答
  • 内部类 可以将一个类的定义放在另一个类的定义内部,这就是内部类。...创建内部类:把类的定义置于外围类的里面; package com2001; /** * Created by Panda on 2018/6/8. */ public class Parcel1 { ...

    内部类

    • 可以将一个类的定义放在另一个类的定义内部,这就是内部类。
    • 内部类是一种非常有用的特性,因为它允许你把一些逻辑相关的类组织在一起,并控制位于内部的类的可视性。

    创建内部类

    创建内部类:把类的定义置于外围类的里面;

    package com2001;
    
    /**
     * Created by Panda on 2018/6/8.
     */
    public class Parcel1 {
        class Contents{
            private int i=11;
            public int value(){return i;}
        }
    
        class Destination{
            private String label;
            public Destination(String label) {
                this.label = label;
            }
            String readLabel(){return label;}
        }
    
        public void ship(String dest){
            Contents contents = new Contents();
            Destination destination = new Destination(dest);
            System.out.println(destination.readLabel());
        }
    
        public static void main(String[] args) {
            Parcel1 parcel1=new Parcel1();
            parcel1.ship("milk");
        }
    }
    
    package com2001;
    
    /**
     * Created by Panda on 2018/6/8.
     */
    public class Parcel2 {
        class Contents{
            private int i=11;
            public int value(){return i;}
        }
    
        class Destination{
            private String label;
            public Destination(String label) {
                this.label = label;
            }
            String readLabel(){return label;}
        }
    
        public Destination to(String s){
            return new Destination(s);
        }
        public Contents contents(){
            return new Contents();
        }
    
        public void ship(String dest){
            Contents contents = contents();
            Destination destination =to(dest);
            System.out.println(destination.readLabel());
        }
    
        public static void main(String[] args) {
            Parcel2 parcel2=new Parcel2();
            parcel2.ship("milk");
    
            //内部类
            Parcel2 parcel21=new Parcel2();
            Parcel2.Contents contents = parcel21.contents();
            Parcel2.Destination destination = parcel21.to("milk1");
        }
    }

    如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,那么必须像在main()方法中那样,具体地指明这个对象的类型:OuterClassName.InnerClassName
    这里写图片描述

    链接到内部类

    • 当生成一个内部类的对象时,此对象与制造它的外围对象之间就有了一种联系,所以它能访问其外围对象的所有成员,而不需要任何特殊条件。此外,内部类还拥有其外围类的所有元素的访问权。
    /**
     * Created by Panda on 2018/6/8.
     */
    interface Selector{
        boolean end();
        Object current();
        void next();
    }
    public class Sequence {
        private Object[] items;
        private int next=0;
        public Sequence(int size){items=new Object[size];}
        public void add(Object x){
            if(next<items.length) items[next++]=x;
        }
        public class SequenceSelector implements Selector{
            private int i=0;
            @Override
            public boolean end() {
                return i==items.length;
            }
    
            @Override
            public Object current() {
                return items[i];
            }
    
            @Override
            public void next() {
                if(i<items.length) i++;
            }
        }
    
        public Selector selector(){
            return new SequenceSelector();
        }
    
        public static void main(String[] args) {
            Sequence sequence = new Sequence(10);
            for (int i = 0; i < 10; i++) {
                sequence.add(Integer.toString(i));
            }
            Selector selector = sequence.selector();
            while (!selector.end()){
                System.out.println(selector.current());
                selector.next();
            }
        }
    }
    
    • 内部类自动拥有对其外围类所有成员的访问权。当某个外围类的对象创建了一个内部类对象时,此内部类对象必定会秘密地捕获一个指向那个外围类对象的引用。然后,在你访问此外围类的成员时,就是用那个引用来选择外围类的成员。
    • 内部类的对象只能与其外围类的对象相关联的情况下才能被创建。(内部类是非static类时)。构建内部类对象时,需要一个指向其外围类对象的引用。
    展开全文
  • [导读]本快速入门介绍了如何使用 Azure 门户创建并连接 MySQL 数据库。本快速入门介绍了如何使用 Azure 门户创建并连接 MySQL 数据库。在本教程中完成的所有操作均符合 1元试用条件。开始之前如果您还没有 Azure ...

    [导读]本快速入门介绍了如何使用 Azure 门户创建并连接 MySQL 数据库。

    本快速入门介绍了如何使用 Azure 门户创建并连接 MySQL 数据库。在本教程中完成的所有操作均符合 1 元试用条件。

    开始之前

    如果您还没有 Azure 账户,可以申请 1 元试用账户

    步骤1:创建 MySQL Database on Azure

    1. 登录到 Azure 门户,点击“+新建”->“Databases”->“Azure 上的 MySQL 数据库”。

    2. 输入必须的参数,点击“设置第一个数据库”在将要新建的数据库服务器上新建一个数据库。

    eb2b55a77866bed74a5a45e35ceb3e44.png

    3. 点击“配置性能”,选择“MS1”性能层。

    4. 等待几分钟后,数据库创建完毕,然后点击“连接安全”->“+ 添加客户端 IP”->“保存”,把当前客户端添加到白名单。

    e692b9b828ab224fee8ea20ba2974c63.png

    5. 打开你的 MySQL 服务器,点击“数据库”->“你的数据库”。

    d082a21a07d4a42a72b6f3b344da527a.png

    6. 点击“连接字符串”,查看并复制需要的连接字符串,后续步骤会用到。

    964436896295a94f46336f686b2f69a4.png

    步骤2:下载并安装 MySQL 客户端

    1. 到下载 MySQL Workbench 页,下载安装最新版的 MySQL Workbench。

    19a4fc8c31c1e23fbcc777abfe83fa64.png

    2. 安装时选择“Complete”完整安装。

    步骤3:连接到 MySQL 数据库

    1. 打开 MySQL Workbrench,点击“Database”->“Manage Connections…”。

    5e14e1cec5cee194e5e4a4948149d28a.png

    2. 点击“New”,输入一个可识别的名字,以及在步骤 1 里得到的连接信息。

    0794cc514df5465e6db3f144739aa4d4.png

    3. 点击“Store in Vault…”输入数据库用户对应的密码。

    e3e101af2e4d463d9bc445ffcd44f7c2.png

    4. 点击“Test Connection”测试你的连接信息是否可用,如果连接成功,会出现下面的会话框。

    dc4af6217d7d78b6344472ec607ddf95.png

    5. 点击“Database”->“Connect to Database…”,选择刚刚保存的连接,然后点击“OK”。

    6. 等待几秒钟,便可以通过 MySQL Workbench 管理数据库中的数据。

    e04deefc3205c76b34bbe197f7935f06.png

    展开全文
  • <p>In drupal 4.x, in contents, links are created like this [url=1]Some text[/url] So when "Some text" click it open node 1. <p>Sometime it may link to external url also....
  • 我最初接触内部类的概念是从某堂的培训机构的视频,然后就是几本经典的java书籍,还有Java集合库中List 和 Map实现类对内部类的使用,才感觉对内部类是有点感觉了。 我这个人记性不好,不喜欢死记硬背。但是有些...

    前言

    内部类这个概念对新手来说应该是一个很不了解的点,有点晦涩的语法,懂了语法,又不知道在哪里用到内部类,因为不经常用,所以慢慢的就会遗忘掉。(说的就是我呀)

    我最初接触内部类的概念是从某堂的培训机构的视频,然后就是几本经典的java书籍,还有Java集合库中List 和 Map实现类对内部类的使用,才感觉对内部类是有点感觉了。

    我这个人记性不好,不喜欢死记硬背。但是有些知识点不背不行呀,那我就根据我自己的自身情况总结出了适何我自己的学习方法。

    每隔一段时间,回头看看已经掌握的知识点,看看还不能不挖掘出新的知识来,慢慢的一系列的知识就印在脑海里了。毕竟是要敲一辈子代码的人,这就是所谓的渐进式学习吧。

    看来看去,总觉得《java编程思想》对这一块讲的较深入和完整

    内部类的介绍

    可以将一个类的定义放在另一个类的定义内部,这就是内部类。
    内部类是一种非常有用的特性,因为它允许你把一些逻辑相关的类组织在一起,并控制位于内部的类的可视性。然而必须要了解,内部类与组合是完全不同的概念,这一点很重要。

    在最初,内部类看起来就像是一种代码隐藏机制:将类置于其他类的内部。但是,你将会了解到,内部类远不止如此,它了解外围类(外部类),并能与这通信;而且你用内部类写出的代码更加优雅而清晰,尽管并不总是这样。

    最初,内部类可能看起来有些奇怪,而且要花些时间才能在设计中轻松地使用它们,对内部类的需求并非总是很明显的,但是在描述完内部类的基本语法与语义之后,使用内部类的益处显而易见了。

    创建内部类

    创建内部类的方式就如同你想的一样–把类的定义置于外围类的里面:

    public class Parcel1 {
        class Contents{
            private int i = 11;
            public int value(){
                return i;
            }
        }
    
        class Destination{
            private String label;
    
            Destination(String whereTo) {
                label = whereTo;
            }
    
            String readLabel(){
                return label;
            }
        }
    
        public void ship(String dest) {
            Contents c = new Contents();
            Destination d = new Destination("destination");
            System.out.println(d.readLabel());
        }
    
        public static void main(String[] args) {
            Parcel1 p = new Parcel1();
            p.ship("Tasmania");
        }
    }

    当我们在ship()方法里面使用内部类的时候,与使用普通类没什么不同。在这里,实际的区别只是内部类的名字是嵌套在Parcel1里面的。不过你将会看到,这并不是唯一的区别。

    更典型的情况是,外部类将有一个方法,该方法返回一个指向内部类的引用,就像在下面to()contents()方法中看到的那样:

    public class Parcel2 {
        class Contents{
            private int i = 11;
            public int value(){
                return i;
            }
        }
    
        class Destination {
            private String label;
    
            Destination(String whereTo) {
                label = whereTo;
            }
    
            String readLabel(){
                return label;
            }
        }
    
        public Destination to(String s) {
            return new Destination(s);
        }
    
        public Contents contents(){
            return new Contents();
        }
    
        public void ship(String dest) {
            Contents c = contents();
            Destination d = to(dest);
            System.out.println(d.readLabel());
        }
    
        public static void main(String[] args) {
            Parcel2 p = new Parcel2();
            p.ship("Tasmania");
    
            Parcel2 q = new Parcel2();
            Parcel2.Contents c = q.contents();
            Parcel2.Destination d = q.to("Borneo");
        }
    
    }

    如果想从外部类的非静态方法之外的任意位置创建某个内部类的对象,那么必须像main()方法中那样,具休地指明这个对象的类型:OuterClassName.InnerClassName

    练习1:编写一个名为Outer的类,它包含一个名为Inner的类。在Outer中添加一个方法,它返回一个Inner类型的对象。在main()中,创建并初始一个指向某个Inner对象的引用。

    public class Outer {
        class Inner{
        }
    
        public  Inner getInner(){
            return new Inner();
        }
    
        public static void main(String[] args) {
            Outer.Inner oi = new Outer().getInner();
        }
    }

    链接到外部类

    到目前为止,内部类似乎还只是一种名字隐藏和组织代码的模式。这些是很有用,但还不是最引人注目,它还有其的用途。当生成一个内部类的对象时,此对象与制造它的外围对象(enclosing object)之间就有了一种联系,所以它能访问其外围对象的所有成员,而不需要任何特殊的条件。此外,内部类还拥有其外围类的所有元素的访问权。下面的例子说明了这点:

    interface Selector{
        boolean end();
        Object current();
        void next();
    }
    public class Sequence {
        private Object[] items;
        private int next = 0;
    
        public Sequence(int size) {
            items = new Object[size];
        }
    
        public void add(Object x) {
            if (next < items.length) {
                items[next++] = x;
            }
        }
    
        private class SequenceSelector implements Selector {
            private int i = 0;
            @Override
            public boolean end() {
                return i == items.length;
            }
    
            @Override
            public Object current() {
                return items[i];
            }
    
            @Override
            public void next() {
                if (i < items.length) {
                    i++;
                }
            }
        }
    
        public Selector selector() {
            return new SequenceSelector();
        }
    
        public static void main(String[] args) {
            Sequence sequence = new Sequence(10);
            for(int i = 0; i < 10; i++) {
                sequence.add(Integer.toString(i));
            }
    
            Selector selector = sequence.selector();
            while (!selector.end()) {
                System.out.print(selector.current() + " ");
                selector.next();
            }
        }
    
    }
    //输出
    0 1 2 3 4 5 6 7 8 9 

    Sequence类只是一个固定大小的Object的数组,以类的形式包装了起来。可以调用add()在序列末增加新的Object(只要还有空间)。要获取Sequence中的每一个对象,可以使用Selector接口。这就是“迭代器”设计模式的一个例子。Selector允许你检查序列是否到末尾了(end()),访问当前对象(current()),以及移到序列中的下一个对象(next())。因为Selector是一个接口,所以别的类可以按它们自己的方式来实现这个接口,并且另的方法能以此接口为参数,来生成更加能用的代码。

    这里,SequenceSelector是提供Selector功能的private类。可以看到,在main()中创建了一个Sequence,并向其中添加了一些String对象。然后通过调用selector()获取一个Selector,并且它在Sequence
    中移动和选择每一个元素。

    最初看到SequenceSelector,可能会觉得它只不过是另一个内部类罢了。但请仔细观察它,注意方法end()current()next()都用到了objects,这是一个引用,它并不是SequenceSelector的一部分,而是外围类中的一个private字段。然而内部类可以访问其外围类的方法和字段,就像自己拥有它们似的,这带来了很大的方便,就如前面的例子所示。

    所以内部类自动拥有对其外围类所有成员的访问权。这是如何做到的呢?当某个外围类的对象创建了一个内部对象时,此内部类对象必定会秘密地捕获一个指向那个外围类对象的引用。 然后,在你访问此外围类的成员时,就是用那个引用来选择外围类的成员。幸运的是,编译器会帮助你处理所有的细节,但你现在可以看到:内部类的对象只能在与其外围类的相关联的情况下才会被创建(就像你应该看到的,在内部类是非static类时)。构建内部类对象时,需要一个指向其外围类对象的引用,如果编译器访问不到这个引用就会报错。不过绝大多数时候这都无需程序员操心

    参考文献

    《Java编程思想》10.1创建内部类
    《Java编程思想》10.2链接到外部类

    展开全文
  • PHP html a标签定义锚 name或id属性 创建文档内部书签 文档片段的链接
  • 创建链接

    2018-04-28 11:32:42
    Link to External Pages with Anchor Elementsa元素,也叫anchor(锚点)元素,既可以用来链接到外部地址实现页面跳转功能,也可以链接到当前页面的某部分实现内部导航功能。下面是一张a元素的图示。a元素位于段落...

    Link to External Pages with Anchor Elements


    a元素,也叫anchor(锚点)元素,既可以用来链接到外部地址实现页面跳转功能,也可以链接到当前页面的某部分实现内部导航功能。

    下面是一张a元素的图示。a元素位于段落元素的中间,这意味着链接会出现在段落的中间。

    a diagram of how anchor tags are composed with the same text as on the following line

    这有一个例子:

    <p>Here's a <a href="http://freecodecamp.cn"> link to FreeCodeCamp中文社区 </a> for you to follow.</p>

    任务:创建一个链接到http://freecatphotoapp.coma元素,并用cat photos作为其anchor text(锚点文本)


    展开全文
  • 内部链接库 配置头文件搜索路径 静态链接 在主工程下的CMakeList引入子目录的CMakeList的路径,以及将子目录的目标文件进行链接 动态链接 内部链接库 通过CMake:快速入门,创建项目 新建src,include...
  • 今天在看项目文档的时候,发现下图的的这个现象,可以按住CTRL键来链接到表格2-1,很好奇是怎么实现的。 下面,就将实现过程写下来: ① 选中“表格2-1”,点击“插入”,选择“书签” 直接输入一个标签名...
  • 本文向您阐明网站内部链接的几种形式和建立内链对SEO的重要性,并说明建立内部链接策略,强调使用自动创建内链插件对SEO不利。网站的内部链接是从网站上的一页到另一页的链接。用户和搜索引擎都将使用内部链接来查找...
  • 文件的创建和编译:C++工程在编译的过程中,每个cpp文件单独编译,编译生成的目标文件彼此链接,其中包含的函数和全局变量默认情况下都存在外部链接和内部链接(也称为静态链接)。因此其他源文件中可以使用本源文件...
  • 创建动态链接

    2005-08-10 23:13:00
    如果打算可以以载入时动态链接使用DLL的话,还必须创建一个导入库。创建源文件 DLL的源代码中包含了需导出的函数及数据,还有内部函数及数据,另外可以有一个可选的入口函数。你可以使用任意支持创建基于Windows的...
  • 创建动态链接

    千次阅读 2005-02-28 17:27:00
    如果打算可以以载入时动态链接使用DLL的话,还必须创建一个导入库。创建源文件 DLL的源代码中包含了需导出的函数及数据,还有内部函数及数据,另外可以有一个可选的入口函数。你可以使用任意支持创建基于Windows的...
  • NULL 博文链接:https://357029540.iteye.com/blog/2381151
  • 本快速入门介绍了如何在Azure 门户中创建并连接 Azure SQL 数据库。在本教程中完成的所有操作均符合 1元试用条件。开始之前如果您还没有 Azure 账户,可以申请1 元试用账户。步骤1:创建 Azure SQL 数据库1. 登录到 ...
  • 全局变量的内部链接

    2016-07-06 13:02:35
    当该块是输入的一部分,当它退出时被破坏时,局部变量被创建。他们只能在他们被声明的块内访问。 全局变量在程序启动时被创建,并且在结束时被销毁。他们可以在程序中使用任何地方。非const的全局变量,一般应避免...
  • 对于virtualbox 虚拟机sharefolder挂载到虚拟机内部linux系统时,会有诸多权限问题,本文记录软链接创建失败问题。 失败日志:ln: failed to create symbolic link ‘XXX’: Read-only file system 解决步骤: 1....
  • 创建一个支持处理长按事件的span public class LongClickableSpan extends ClickableSpan View.OnClickListener l;{  View.OnClickListener l; OnLongClickListener mOnLongClickListener = null; public ...
  • 在应用开发页面,选择企业内部开发 > H5微应用,然后单击创建应用。 填写应用的基本信息,然后单击确定创建。 在应用信息页面,单击开发管理,然后单击修改。 根据以下信息配置开发信息,然后单击保存。 ...
  • typora内部标题跳转

    2020-12-01 19:51:01
    想在文章开头使用链接直接跳转到指定标题,可以使用快捷键 Ctrl + K 创建内部链接,并在[]中填写链接内容,()中的格式为 #要跳转到的标题 。 效果如图: 然后按住Ctrl,点击链接,即跳转到想看的标题了。 ...
  • 内部链接到外部类

    2012-10-05 10:45:39
    内部类创造时,会自动地拥有一个外部类的引用,这个是编译器给它创建的,当某个外部类的对象要创建一个内部类对象时,此内部类对象会秘密地获得一个指向外围类对象的引用(下面的图会看到的)。当要访问外部类的...
  • 为什么要使用maven仓库 1. 随着公司项目越做越多,共用类越来越多,不同项目之间相互拷贝,不能够实现统一管理。 2.为日后模块化打下基础...链接:https://pan.baidu.com/s/1g0F2-wbsRBrkVJUaZ1udGA 提取码:os8d ...
  • 最近在做相关的支付工作,接口间内部需要使用用https的方式提交数据,寻寻觅觅了很长时间通常的做法是将证书安装到本机,再使用https链接,这样极其不方便,如果我方使用的是集群的方式,即使是两个命令,那这个工作...
  • 但是我们还忽略了另外一个重要的事实,创建自己的内部的时候,那个类也拥有指向封装对象的一个链接,所以他们能访问那个封装对象的成员——而不需要任何的资格限制。除此之外,内部类有用对封装类所有元素的访问权限...
  • 第12节 html创建热点区域 链接

    千次阅读 2017-02-10 16:28:33
    热点区域链接例如: 使用文本建立超链接 <!--内部特定目标跳转 将需要跳转的文字包起来--> 实现特定目标跳转 <!--实现图像超链接--
  • 该组织的目标是创建一个易于用户浏览的网站,同时允许搜索引擎轻松地对该网站进行爬网。 SEO引入实践时要了解的第一件事是页面优化,它通过使用标题标签(H1,H2,H3等)来高度依赖页面组织。 站点的结...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,509
精华内容 603
关键字:

创建内部链接