摘要: 1、什么是封装?封装就是将属性私有化,提供公有的方法访问私有属性。做法就是:修改属性的可见性来限制对属性的访问,并为每个属性创建一对取值(getter)方法和赋值(setter)方法,用于对这些属性的访问。如:private String name;public String getName(){r... 阅读全文
posted @ 2014-04-16 19:56 ShadowAssault 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 公共级别(嵌套类除外)。public(公共)当变量或方法被public修饰时,该变量和方法可以在任何地方(指的是任何包中)的任何类中被访问;protected(受保护的)当类的变量或方法被 protected 修饰时,该变量和方法只可以在同包中的任何类、不同包中的任何当前类的子类中所访问。即不同包中... 阅读全文
posted @ 2014-04-15 19:19 ShadowAssault 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 一、方法调用1、特点:先进后出,从上往下依次执行2、会发生的三种情况(1)方法返回一个值(2)方法不返回一个值,void(3)抛出异常二、方法签名1、组成(1)访问修饰符(2)可选修饰符(3)返回类型(4)方法名称(5)形参如:publicstaticvoidmain(String[] args)三... 阅读全文
posted @ 2014-04-15 19:16 ShadowAssault 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 为了更好地组织类,Java提供了包机制。包是类的容器,用于分隔类名空间。如果没有指定包名,所有的示例都属于一个默认的无名包。Java中的包一般均包含相关的类,例如,所有关于交通工具的类都可以放到名为Transportation的包中。程序员可以使用package指明源文件中的类属于哪个具体的包。包语句的格式为:package pkg1[.pkg2[.pkg3…]];程序中如果有package语句,该语句一定是源文件中的第一条可执行语句,它的前面只能有注释或空行。另外,一个文件中最多只能有一条package语句。包的名字有层次关系,各层之间以点分隔。包层次必须与Java开发系统的文件系统结构相同 阅读全文
posted @ 2014-04-11 20:48 ShadowAssault 阅读(138) 评论(0) 推荐(0) 编辑
摘要: 所谓对象就是真实世界中的实体,对象与实体是一一对应的,也就是说现实世界中每一个实体都是一个对象,它是一种具体的概念。类是具备某些共同特征的实体的集合,它是一种抽象的概念,用程序设计的语言来说,类是一种抽象的数据类型,它是对所具有相同特征实体的抽象。类与对象的关系:类是对象的集合,对象是类的实例;对象是通过new className产生的,用来调用类的方法;类的构造方法 .。用一个例子给你说明一下他们的关系:比如“人类”就是一个类,那么具体的某个人“张三”就是“人类”这个类的对象,而“名字、年龄”等信息就是对象的属性,人的动作比如“吃饭、穿衣”等就是对象的方法。总之类就是有相同特征的事物的集合, 阅读全文
posted @ 2014-04-11 20:47 ShadowAssault 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 数组是有序数据的集合,数组中的每个元素具有相同的数组名和下标来唯一地确定数组中的元素。§5.1一维数组一、一维数组的定义type arrayName[];其中类型(type)可以为Java中任意的数据类型,包括简单类型组合类型,数组名arrayName为一个合法的标识符,[]指明该变量是一个数组类型变量。例如:int intArray[];声明了一个整型数组,数组中的每个元素为整型数据。与C、C++不同,Java在数组的定义中并不为数组元素分配内存,因此[]中不用指出数组中元素个数,即数组长度,而且对于如上定义的一个数组是不能访问它的任何元素的。我们必须为它分配内存空间,这时要用到运 阅读全文
posted @ 2014-04-09 19:28 ShadowAssault 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 运算符 结果~ 按位非(NOT)(一元运算)& 按位与(AND)| 按位或(OR)^ 按位异或(XOR)>> 右移>>> 右移,左边空出的位以0填充续表运算符 结果>= 右移赋值>>>= 右移赋值,左边空出的位以0填充<<= 左移赋值既然位运算符在整数范围内对位操作,因此理解这样的操作会对一个值产生什么效果是重要的。具体地说,知道Java是如何存储整数值并且如何表示负数的是有用的。因此,在继续讨论之前,让我们简短概述一下这两个话题。所有的整数类型以二进制数字位的变化及其宽度来表示。例如,byte型值42的二进制代码是00 阅读全文
posted @ 2014-04-09 19:26 ShadowAssault 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 这三方面的信息分别对应着三种消息的"接收者":(1) 异常的类型--对于divide方法的调用者有特别重要的意义。调用divide方法的程序可以通过捕获特定类型的异常(如MyArithmeticException)而忽略其它类型异常。(2) 发生异常的位置--对于程序员或客户技术支持来说有着特别重要的意义。他们需要通过stacktrace信息来分析错误或调试程序。(3) 异常的信息--对于那些解释错误信息的用户来讲有着特别重要的意义。如果在你的开发过程中遇到任何Java提供的异常类都不能描述的异常情况时,你可以创建自己的异常类:通过继承Exception类或它的子类,实现自 阅读全文
posted @ 2014-04-09 19:24 ShadowAssault 阅读(1394) 评论(0) 推荐(0) 编辑
摘要: 在C++中使用过智能指针的同学们应该都清楚智能指针对C++中内存管理带来的极大便利,但是也会引入一些头疼的问题,比如智能指针带来的循环引用的问题,这个问题在之前的项目中一直没有很好的解决。最近参与到android的项目开发,对java的内存的管理有了一个初步的了解,很容易想到了循环引用的问题。比如下面这个例子: public void buidDog() { Dog newDog = new Dog(); Tail newTail = new Tail(); newDog.tail = newTail; newTail.dog = newDog; } 在这里,newTail中拿着对newDog 阅读全文
posted @ 2014-04-04 23:02 ShadowAssault 阅读(4232) 评论(0) 推荐(1) 编辑
摘要: java使用了所有C 的流程控制语句,所有条件语句都利用条件表达式的true或false来决定执行控制流程。这里只大概把语法列出来,在开发中能用到的,不做细化的语法分析。顺序结构、分支结构、循环结构一、分支结构包括:(1)单分支结构if(条件){ 满足条件后需要执行的语句}(2)双分支结构if(条件){ 满足条件后需要执行的语句}else{ 在if的条件不满足的情况下需要执行的语句}else后面不能加条件(3).多分支语句结构if(条件1){ 满足条件1 需要执行的语句;}else if(条件2){ 不满足条件1,才会判断条件2 满足条件2,要执行的语句序列;}else if(条件3){... 阅读全文
posted @ 2014-04-03 19:25 ShadowAssault 阅读(158) 评论(0) 推荐(0) 编辑