还记得上一篇帖子我们所说的访问修饰符吗,在访问修饰符中有一个private,它的作用在于更好的隐藏类的内部实现。所谓封装就是类中成员私有,他人需要按我给定的方式去使用。例如:#includeusingnamespacestd;classstudent{private:constchar*name;intage;public:voidshow(){cout<
Java必须知道的概念
Pluto & Ethereal
java开发语言面试
目录一、封装是什么?为什么要使用封装?二、什么是访问修饰符?三、public和private访问修饰符的区别是什么?四、什么是继承?为什么要使用继承?五、在Java中,如何实现继承?六、什么是父类和子类?七、子类可以继承父类的私有成员吗?八、什么是多态?如何实现多态?九、什么是方法重写?如何实现方法重写?十、什么是抽象类?如何定义抽象类?十一、抽象类和接口有什么区别?十二、什么是接口?如何定义接口
Java面向对象
吢禅
javajvm开发语言
类变量和类方法类变量什么是类变量类变量也叫静态变量/静态属性,是该类的所有对象共享的变量,任何一个本类的对象访问他时,取到的值都是相同的,同样任何本类的一个对象去修改它时修改的也是听一个变量如何定义类变量定义语法:------->访问修饰符static数据类型变量名;[推荐]static访问修饰符数据类型变量名;如何访问类变量类名.类变量名or对象名.类变量名推荐使用第一种packagestati
值类型和引用类型、装箱和拆箱、静态类和普通类、方法的重载、继承和多态、访问修饰符
Envyᥫᩣ
C#值类型和引用类型装箱和拆箱静态类和普通类方法的重载继承和多态访问修饰符
目录一、值类型和引用类型的区别?值类型(ValueTypes)定义:特点:示例:引用类型(ReferenceTypes)定义:特点:示例:举例说明:总结:二、装箱和拆箱装箱(Boxing)特点:示例:拆箱(Unboxing)特点:示例:示例代码:装箱和拆箱的影响最佳实践:三、静态类和普通类的区别?静态类(StaticClass)普通类(Non-StaticClass)比较总结四、方法的重载方法重载
C# 封装
看山还是山,看水还是。
c#开发语言c语言学习笔记
封装被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使程序员实现所需级别的抽象。封装使用访问修饰符来实现。一个访问修饰符定义了一个类成员的范围和可见性。C#支持的访问修饰符如下所示:PublicPrivateProtectedInternalProtecte
C#写入和调用方法
林祖师
C#c#开发语言
一、编写方法在C#中,方法是在类或结构体内部定义的代码块,用于执行特定的操作。方法通常包括以下几个要素:访问修饰符:指定方法的访问级别,如public、private、protected等。返回类型:指定方法返回的数据类型,可以是任何有效的C#数据类型,甚至可以是void,表示不返回任何值。方法名称:方法的标识符,用于在其他地方调用该方法。参数列表:可选部分,包含传递给方法的数据。方法体:包含实际
java必知必会-java抽象类与接口
柠檬分解者
java必知必会java开发语言
系列文章目录java必知必会-java环境搭建java必知必会-java开发工具安装与使用java必知必会-java关键字、变量和常量java必知必会-java数据类型和变量定义java必知必会-java类和对象java必知必会-java面向对象的三大特性java必知必会-java继承与重写、重载java必知必会-java构造方法与访问修饰符文章目录系列文章目录前言一、什么是抽象类和抽象方法?二、
深入理解 Java 修饰符与封装:访问权限、行为控制与数据隐藏
Java修饰符Java修饰符用于控制类、属性、方法和构造函数的访问权限和行为。它们可以分为两组:访问修饰符:public:意味着代码对所有类可访问。private:意味着代码只能在声明的类内部访问。default:意味着代码只能在同一包中访问。protected:意味着代码在同一包和子类中可访问。非访问修饰符:final:意味着类不能被继承,属性和方法不能被重写。static:意味着属性和方法属于
Java支持的默认访问修饰符是什么?
dreammaker阿甘
JAVAjava开发语言
Java支持的默认访问修饰符是没有指定任何访问修饰符,通常被称为“包访问级别”或“默认访问级别”。当一个类成员(包括类、接口、变量以及方法)没有显式地指定任何访问修饰符时,它就会拥有默认访问级别。在默认访问级别下,类成员只能够被同一包内的其他类访问。它们对于这个包外的类来说是不可见的,这包括了不同包下的子类。这种访问级别有助于封装未准备好公开的内部细节,同时允许包内的类之间自由地相互访问。总结一下
方法重写和方法重载的区别
sed append
jvm
目录一.方法重载(overloading)二.重载的规则三.方法重写(overriding)四.重写的规则五、访问修饰符六、总结重写与重载之间的区别方法重载:方法重写:一.方法重载(overloading)方法重载是指在一个类中,多个方法的方法名相同,但是参数列表不同。参数列表不同指的是参数个数、参数类型或者参数的顺序不同。方法的重载在实际应用中也会经常用到。不仅是一般的方法,构造方法也可以重载。
Unity学习笔记(零基础到就业)|Chapter03:C#核心
feifei_cloud
unityunity学习笔记unity学习笔记c#经验分享游戏引擎游戏
Unity学习笔记(零基础到就业)|Chapter03:C#核心前言一、面向对象编程二、面向对象编程三大特性(一)封装1.类和对象(1)什么是类(2)类的声明(3)什么是(类)对象(4)实例化(类)对象的语法(5)类和结构体的区别2.成员变量和访问修饰符(1)成员变量基本规则(2)实例3.成员方法(1)成员方法(函数)的声明(2)成员方法(函数)的使用4.构造函数、析构函数和垃圾回收机制(1)构造
Kotlin 类3 - 类及其成员的可见性
ChenME
Kotlin类3-类及其成员的可见性1.成员变量访问修饰符Kotlin中private:私有,本类内部可见protected:子类可见internal:模块内可见public:默认,公有对比Javaprivate:私有,本类内部可见protected:子类可见default:默认,包内可见public:公有
每日五道java面试题之java基础篇(四)
中北萌新程序员
java面试题java开发语言
第一题.访问修饰符public、private、protected、以及不写(默认)时的区别?Java中,可以使⽤访问控制符来保护对类、变量、⽅法和构造⽅法的访问。Java⽀持4种不同的访问权限。default(即默认,什么也不写):在同⼀包内可⻅,不使⽤任何修饰符。可以修饰在类、接⼝、变量、⽅法。private:在同⼀类内可⻅。可以修饰变量、⽅法。注意:不能修饰类(外部类)public:对所有类
JAVA面试题11
CrazyMax_zh
redis
什么是Java的访问修饰符,并列出它们的作用。Java的访问修饰符包括public、private、protected和默认。它们的作用如下:public:可以被任何其他类访问。private:只能被所在类访问,其他类无法访问。protected:可以被所在类和同一个包中的其他类访问,以及其子类访问。默认:只能被所在类和同一个包中的其他类访问。什么是重载(Overloading)和重写(Overr
【C++】类的定义
xy.Ren
C++开发语言c++
目录一、面向对象的思想、方法(一)面向对象的思想(二)面向对象的方法(三)面向对象的程序设计二、面向对象的基本概念三、面向对象程序设计的特点四、类及定义一个类(一)用一个日期类理解从结构到类1、定义一个日期结构2、定义一个日期类(二)定义一个类1、类定义2、特别说明访问修饰符3、类与结构的区别(三)定义类的成员函数1、什么是成员函数?2、在哪里定义成员函数?(1)把成员函数定义在类内部(2)把成员
从Field获取访问修饰符
神坛下的我
importjava.lang.reflect.Field;importjava.lang.reflect.Modifier;importstaticjava.lang.System.out;enumSpy{BLACK,WHITE}publicclassFieldModifierSpy{volatileintshare;intinstance;classInner{}publicstaticvoi
【高频前端面试题--TypeScript篇】
码上有前
前端前端typescriptjavascript
作者:“码上有前”文章简介:前端高频面试题欢迎小伙伴们点赞、收藏⭐、留言高频前端面试题--Vue3.0篇什么是TypeScript?TypeScript数据类型TypeScript中命名空间与模块的理解和区别TypeScript支持的访问修饰符有哪些?TypeScript中的Declare关键字有什么作用?TypeScript中any类型的作用是什么?TypeScript中any滥用会有什么后果T
JAVA中的类方法
鞠婧祎yamy
#JAVAjava开发语言
一、定义1.类方法也叫静态方法格式访问修饰符static数据返回类型方法名(){}2.类方法的调用前提:满足访问修饰符的访问权限使用方式:类名.类方法名或者对象名.类方法名二、注意事项1.类方法中没有this的参数classD{privateintn1=100;privatestaticintn2=300;publicstaticvoidhi(){//System.out.println(this
【C++】-类和对象(友元!!内部类!!匿名对象!详解)
喜欢吃地瓜
c++java开发语言
类和对象⑤友元内部类匿名对象在之前的类和对象①、②、③、④篇中,详细讲解了类和对象的基本知识,本章为最终章,继续为大家介绍类和对象。友元我们已知的,在C++中,有一种私有访问修饰符,用于限制类的成员只能在类的内部访问。私有成员对外部是不可见的,其他类或函数无法直接访问私有成员。但是我们已经做过重载操作符这个动作,某些操作符可能会需要访问类的私有成员,那么private限制符就阻挡了我们的脚步。这个
JAVA-OOP编程思想【方法】
zyt.com
java开发语言
方法的概念:方法是若干“代码语句片段”的集合,它们完成一个“具体的功能”,并且设置一个“直观易懂”的名字,方便后期在程序中去“使用(调用)”。“方法”在生活中的意思是“达到某种目的而采取的手段与行为方式”,在编程语言中,方法也叫“函数”,指实现某个编程功能的一段代码,这段代码被用方法名封装起来,这个整体即方法。方法的定义:public/protected/private(访问修饰符)statici
Dart入门05 -- 私有成员,静态成员,继承,抽象类,隐式接口
YanZi_33
私有成员在Java中有public,private,protected这些访问修饰符,可控制类class成员的访问权限,在Dart中没有这些访问修饰符,属性成员可通过下划线_,表明该属性是类class的私有成员,外界不能直接访问,只能通过方法访问,注意这里涉及到两个单独文件之间的访问;person类文件,代码如下:classPerson{Stringname;intage;//私有成员double
Java注意事项(1)
淳平讲Java
java开发语言
一、属性细节1)属性的定义语法同变量,示例:访问修饰符属性类型属性名;这里简单的介绍访问修饰符:控制属性的访问范围有四种访问修饰符public,protected,默认,private2)属性的定义类型可以为任意类型,包含基本类型或引用类型3)属性如果不赋值,有默认值,规则和数组一致。具体说:int0,short0,byte0,long0,float0.0,double0.0,char\u0000
java中重写和重载的区别
codingcc
重写只存在于子类与父类中,重载存在于一个类中。具体区别如下:一、重写(override)override是重写(覆盖)了一个方法,以实现不同的功能。一般是用于子类在继承父类时,重写(重新实现)父类中的方法。重写(覆盖)的规则:1、重写方法的参数列表必须完全与被重写的方法的相同,否则不能称其为重写而是重载.2、重写方法的访问修饰符一定要大于被重写方法的访问修饰符(public>protected>d
Dart 类的私有方法&私有属性
泛滥的小愤青
Dart和其他面向对象语言不一样,Dart中没有,publicprivateprotected这些访问修饰符,可以定义变量私有,公有或者保护。利用_(下划线)将一个属性或者方法定义成私有。(抽离在单独文件,私有属性和方法调用没有效果,需要间接调用才有效果。)写在main中的类,私有/公有都可以调用classAnimal{String_name;intage;//默认构造函数的简写Animal(th
反射&代理
开朗觉觉
javajavascript开发语言
反射反射就是:以编程的方式获取类中的各种成分(成员变量、方法、构造器等)。反射的好处使用反射创建对象(更加灵活)。无视访问修饰符操作对象的成员变量、方法、构造器等(更强大)。反射的第一步是什么?获取Class类对象获取Class类对象的三种方式方式一:Classc1=Class.forName("全类名");方式二:Classc2=类名.class;方式三:Classc3=对象.getClass(
类
东经20度
1.定义1.1对象在现实社会中,每一个实体都是一个对象。例如猫、学生等。他们都有相同的一类属性和行为。1.2类定义类是对现实世界对象的抽象,是一组具有相同属性和方法的对象的集合。语法:访问修饰符class类名{类代码;}类定义中可以使用的修饰符组合:修饰符含义无或internal类只能在当前项目中访问public类可以在任何地方访问abstract或internal类只能在当前项目中访问,只能继承
C#学习笔记_结构体
Southern Young
C#学习笔记学习笔记c#
结构体(struct)是一种值类型,通常用于封装一些小型变量数据。在C#面向对象编程学习时,可以将结构体暂时理解成一种简单的对象。结构体语法一、声明结构体声明结构体语法如下:publicstruct结构体{public数据类型变量名;public数据类型变量名;public数据类型变量名;......}其中,public为访问修饰符,限定了结构体被访问的权限;struct关键字用于声明结构体。例如
Java数据结构 - 数组与ArrayList
默默地敲出Bug
数据结构(JAVA语言)数据结构java
数据结构(Java语言描述)-数组与ArrayList一、什么是数组数组是在内存中开辟的一段地址连续且大小相等的内存单元,每个单元存储相同数据类型的值。这些内存单元称之为数组的元素,通过数组的下标(或称索引)访问,下标从0开始。数组的特点:数组一旦定义其长度就固定。各元素的数据类型相同。通过下标来访问。二、数组的声明与初始化语法格式:[访问修饰符]数据类型[]数组名=new数据类型[长度];int
怎么样才能成为专业的程序员?
cocos2d-x小菜
编程PHP
如何要想成为一名专业的程序员?仅仅会写代码是不够的。从团队合作去解决问题到版本控制,你还得具备其他关键技能的工具包。当我们询问相关的专业开发人员,那些必备的关键技能都是什么的时候,下面是我们了解到的情况。
关于如何学习代码,各种声音很多,然后很多人就被误导为成为专业开发人员懂得一门编程语言就够了?!呵呵,就像其他工作一样,光会一个技能那是远远不够的。如果你想要成为
java web开发 高并发处理
BreakingBad
javaWeb并发开发处理高
java处理高并发高负载类网站中数据库的设计方法(java教程,java处理大量数据,java高负载数据) 一:高并发高负载类网站关注点之数据库 没错,首先是数据库,这是大多数应用所面临的首个SPOF。尤其是Web2.0的应用,数据库的响应是首先要解决的。 一般来说MySQL是最常用的,可能最初是一个mysql主机,当数据增加到100万以上,那么,MySQL的效能急剧下降。常用的优化措施是M-S(
mysql批量更新
ekian
mysql
mysql更新优化:
一版的更新的话都是采用update set的方式,但是如果需要批量更新的话,只能for循环的执行更新。或者采用executeBatch的方式,执行更新。无论哪种方式,性能都不见得多好。
三千多条的更新,需要3分多钟。
查询了批量更新的优化,有说replace into的方式,即:
replace into tableName(id,status) values
微软BI(3)
18289753290
微软BI SSIS
1)
Q:该列违反了完整性约束错误;已获得 OLE DB 记录。源:“Microsoft SQL Server Native Client 11.0” Hresult: 0x80004005 说明:“不能将值 NULL 插入列 'FZCHID',表 'JRB_EnterpriseCredit.dbo.QYFZCH';列不允许有 Null 值。INSERT 失败。”。
A:一般这类问题的存在是
Java中的List
g21121
java
List是一个有序的 collection(也称为序列)。此接口的用户可以对列表中每个元素的插入位置进行精确地控制。用户可以根据元素的整数索引(在列表中的位置)访问元素,并搜索列表中的元素。
与 set 不同,列表通常允许重复
读书笔记
永夜-极光
读书笔记
1. K是一家加工厂,需要采购原材料,有A,B,C,D 4家供应商,其中A给出的价格最低,性价比最高,那么假如你是这家企业的采购经理,你会如何决策?
传统决策: A:100%订单 B,C,D:0%
&nbs
centos 安装 Codeblocks
随便小屋
codeblocks
1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum install gcc-c++
2.安装gtk2-devel,因为默认已经安装了正式产品需要的支持库,但是没有安装开发所需要的文档.yum install gtk2*
3. 安装wxGTK
yum search w
23种设计模式的形象比喻
aijuans
设计模式
1、ABSTRACT FACTORY—追MM少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是MM爱吃的东西,虽然口味有所不同,但不管你带MM去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory 工厂模式:客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。如:
开发管理 CheckLists
aoyouzi
开发管理 CheckLists
开发管理 CheckLists(23) -使项目组度过完整的生命周期
开发管理 CheckLists(22) -组织项目资源
开发管理 CheckLists(21) -控制项目的范围开发管理 CheckLists(20) -项目利益相关者责任开发管理 CheckLists(19) -选择合适的团队成员开发管理 CheckLists(18) -敏捷开发 Scrum Master 工作开发管理 C
js实现切换
百合不是茶
JavaScript栏目切换
js主要功能之一就是实现页面的特效,窗体的切换可以减少页面的大小,被门户网站大量应用思路:
1,先将要显示的设置为display:bisible 否则设为none
2,设置栏目的id ,js获取栏目的id,如果id为Null就设置为显示
3,判断js获取的id名字;再设置是否显示
代码实现:
html代码:
<di
周鸿祎在360新员工入职培训上的讲话
bijian1013
感悟项目管理人生职场
这篇文章也是最近偶尔看到的,考虑到原博客发布者可能将其删除等原因,也更方便个人查找,特将原文拷贝再发布的。“学东西是为自己的,不要整天以混的姿态来跟公司博弈,就算是混,我觉得你要是能在混的时间里,收获一些别的有利于人生发展的东西,也是不错的,看你怎么把握了”,看了之后,对这句话记忆犹新。 &
前端Web开发的页面效果
Bill_chen
htmlWebMicrosoft
1.IE6下png图片的透明显示:
<img src="图片地址" border="0" style="Filter.Alpha(Opacity)=数值(100),style=数值(3)"/>
或在<head></head>间加一段JS代码让透明png图片正常显示。
2.<li>标
【JVM五】老年代垃圾回收:并发标记清理GC(CMS GC)
bit1129
垃圾回收
CMS概述
并发标记清理垃圾回收(Concurrent Mark and Sweep GC)算法的主要目标是在GC过程中,减少暂停用户线程的次数以及在不得不暂停用户线程的请夸功能,尽可能短的暂停用户线程的时间。这对于交互式应用,比如web应用来说,是非常重要的。
CMS垃圾回收针对新生代和老年代采用不同的策略。相比同吞吐量垃圾回收,它要复杂的多。吞吐量垃圾回收在执
Struts2技术总结
白糖_
struts2
必备jar文件
早在struts2.0.*的时候,struts2的必备jar包需要如下几个:
commons-logging-*.jar Apache旗下commons项目的log日志包
freemarker-*.jar  
Jquery easyui layout应用注意事项
bozch
jquery浏览器easyuilayout
在jquery easyui中提供了easyui-layout布局,他的布局比较局限,类似java中GUI的border布局。下面对其使用注意事项作简要介绍:
如果在现有的工程中前台界面均应用了jquery easyui,那么在布局的时候最好应用jquery eaysui的layout布局,否则在表单页面(编辑、查看、添加等等)在不同的浏览器会出
java-拷贝特殊链表:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
bylijinnan
java
public class CopySpecialLinkedList {
/**
* 题目:有一个特殊的链表,其中每个节点不但有指向下一个节点的指针pNext,还有一个指向链表中任意节点的指针pRand,如何拷贝这个特殊链表?
拷贝pNext指针非常容易,所以题目的难点是如何拷贝pRand指针。
假设原来链表为A1 -> A2 ->... -> An,新拷贝
color
Chen.H
JavaScripthtmlcss
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <HEAD>&nbs
[信息与战争]移动通讯与网络
comsci
网络
两个坚持:手机的电池必须可以取下来
光纤不能够入户,只能够到楼宇
建议大家找这本书看看:<&
oracle flashback query(闪回查询)
daizj
oracleflashback queryflashback table
在Oracle 10g中,Flash back家族分为以下成员:
Flashback Database
Flashback Drop
Flashback Table
Flashback Query(分Flashback Query,Flashback Version Query,Flashback Transaction Query)
下面介绍一下Flashback Drop 和Flas
zeus持久层DAO单元测试
deng520159
单元测试
zeus代码测试正紧张进行中,但由于工作比较忙,但速度比较慢.现在已经完成读写分离单元测试了,现在把几种情况单元测试的例子发出来,希望有人能进出意见,让它走下去.
本文是zeus的dao单元测试:
1.单元测试直接上代码
package com.dengliang.zeus.webdemo.test;
import org.junit.Test;
import o
C语言学习三printf函数和scanf函数学习
dcj3sjt126com
cprintfscanflanguage
printf函数
/*
2013年3月10日20:42:32
地点:北京潘家园
功能:
目的:
测试%x %X %#x %#X的用法
*/
# include <stdio.h>
int main(void)
{
printf("哈哈!\n"); // \n表示换行
int i = 10;
printf
那你为什么小时候不好好读书?
dcj3sjt126com
life
dady, 我今天捡到了十块钱, 不过我还给那个人了
good girl! 那个人有没有和你讲thank you啊
没有啦....他拉我的耳朵我才把钱还给他的, 他哪里会和我讲thank you
爸爸, 如果地上有一张5块一张10块你拿哪一张呢....
当然是拿十块的咯...
爸爸你很笨的, 你不会两张都拿
爸爸为什么上个月那个人来跟你讨钱, 你告诉他没
iptables开放端口
Fanyucai
linuxiptables端口
1,找到配置文件
vi /etc/sysconfig/iptables
2,添加端口开放,增加一行,开放18081端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 18081 -j ACCEPT
3,保存
ESC
:wq!
4,重启服务
service iptables
Ehcache(05)——缓存的查询
234390216
排序ehcache统计query
缓存的查询
目录
1. 使Cache可查询
1.1 基于Xml配置
1.2 基于代码的配置
2 指定可搜索的属性
2.1 可查询属性类型
2.2 &
通过hashset找到数组中重复的元素
jackyrong
hashset
如何在hashset中快速找到重复的元素呢?方法很多,下面是其中一个办法:
int[] array = {1,1,2,3,4,5,6,7,8,8};
Set<Integer> set = new HashSet<Integer>();
for(int i = 0
使用ajax和window.history.pushState无刷新改变页面内容和地址栏URL
lanrikey
history
后退时关闭当前页面
<script type="text/javascript">
jQuery(document).ready(function ($) {
if (window.history && window.history.pushState) {
应用程序的通信成本
netkiller.github.com
虚拟机应用服务器陈景峰netkillerneo
应用程序的通信成本
什么是通信
一个程序中两个以上功能相互传递信号或数据叫做通信。
什么是成本
这是是指时间成本与空间成本。 时间就是传递数据所花费的时间。空间是指传递过程耗费容量大小。
都有哪些通信方式
全局变量
线程间通信
共享内存
共享文件
管道
Socket
硬件(串口,USB) 等等
全局变量
全局变量是成本最低通信方法,通过设置
一维数组与二维数组的声明与定义
恋洁e生
二维数组一维数组定义声明初始化
/** * */ package test20111005; /** * @author FlyingFire * @date:2011-11-18 上午04:33:36 * @author :代码整理 * @introduce :一维数组与二维数组的初始化 *summary: */ public c
Spring Mybatis独立事务配置
toknowme
mybatis
在项目中有很多地方会使用到独立事务,下面以获取主键为例
(1)修改配置文件spring-mybatis.xml <!-- 开启事务支持 --> <tx:annotation-driven transaction-manager="transactionManager" /> &n
更新Anadroid SDK Tooks之后,Eclipse提示No update were found
xp9802
eclipse
使用Android SDK Manager 更新了Anadroid SDK Tooks 之后,
打开eclipse提示 This Android SDK requires Android Developer Toolkit version 23.0.0 or above, 点击Check for Updates
检测一会后提示 No update were found