随笔分类 - Java
摘要:【this】在没有new一个对象前,this不知道指的是什么;当new出一个对象时,this指的是当前对象的引用。【分析】int i =0;这里的i指的是成员变量;Leaf(int i)这里的i是形参i(二者都在栈中,但不是一个变量)。this.i = i;后面的i未作说明,这是根据就近原则确定i指...
阅读全文
摘要:【static】static成员变量存储在内存data segment区域,不是存放在堆中。静态成员变量属于整个类,任何一个对象都可以访问这个值;如果没有对象,可以用类访问,格式为:类.静态成员变量。【静态变量与非静态变量】静态成员变量只存在一份(不论new多少个对象,也不管用不用到该变量,它属于整...
阅读全文
摘要:【package】为了解决类的命名冲突问题,Java引入包(package)机制,提供类的多重类命名空间。package作为源文件的第一条语句(缺省时指定为无名包),包的命名规范为:公司域名倒置.自定义包Java编译器把包对应于文件系统的目录管理,在package语句中,用'.'来指明包(目录)的层...
阅读全文
摘要:注:如果在子类中想要重写父类中的方法,必须保证方法名与父类中的一致。如果不一致,则在编译运行时不会报错,但是不一定是我们原来想要的实现。
阅读全文
摘要:在Java类中使用super来引用基类的成分。【代码】【内存分析】注:super指向的是当前子类对象的父类,因此指向的是FatherClass。this指向的是对象自身。
阅读全文
摘要:【继承】Java只支持单继承,不支持多继承。继承父类的私有成员变量,只有所有权,没有使用权。【继承中的构造方法】程序:运行结果:A() B() B:f()【访问控制】注:default又被称为包权限。
阅读全文
摘要:Sun下载JDK--解压缩--javadoc文件(Constuctor Summary[构造方法]+Method Summary[方法])【Object】Object类是所有Java类的根基类。----clone();----equals(Object o);----finalize();----g...
阅读全文
摘要:动态绑定是在执行期间(而不是编译期间)判断所用对象的实际类型,根据其实际的类型调用其相应的方法(确定选择哪个多态形式被调用)。首先是方法的参数是父类对象,传入子类对象是否可行然后引出Parent p = new Children();这句代码不是很理解,google的过程中引出向上转型要理解向上转型...
阅读全文
摘要:【抽象类】抽象类中方法有定义的必要,但是没有实现的必要,因为需要子类进行重写。
阅读全文
摘要:Java不能实现多继承,但是可以利用接口实现类似多继承的功能。多个无关的类可以实现同一接口。一个类可以实现多个无关的接口。与继承关系类似,接口与实现类之间存在多态性。接口是抽象方法和常量值的定义的集合。从本质上讲,接口是一种特殊的抽象类,这种抽象类中只包含常量(public static final...
阅读全文
摘要:【异常】运行期出现的错误(不是编译时的语法错误)。观察错误的名字和行号很重要!【程序分析:数组越界】 int [] arr = {1,2,3}; System.out.println(arr[4]); 注:在C和C++中编译通过,因为在C和C++中不进行数组越界的检查(这就很容易造成缓冲区溢出漏洞)...
阅读全文
摘要:【数组】注:C/C++中数组可以存储在栈中,但是Java中不可以(因为Java中是引用)。【一维数组】声明: type var[]; 或者 type[] var;Java语言生成数组时不能指定其长度(数组中元素的个数),例如int a[4]是非法的(--因为Java中数据分配在堆中,是动态分配的;C...
阅读全文
摘要:【常用类】 字符串相关类(String、StringBuffer) 基本数据类型包装类 Math类 File类 枚举类【String类】java.lang.String类代表不可变的字符序列。String类的常见构造方法: String(String original) //创建一个St...
阅读全文
摘要:【StringBuffer】java.lang.StringBuffer代表可变的字符序列。StringBuffer和String类似,但是StringBuffer可以对其字符串进行改变。StringBUffer类的常见构造方法: StringBuffer(); //创建一个不包含字符串序列...
阅读全文
摘要:【包装类】 包装类(如Integer、Double等)这些类封装了一个相应的基础数据类型数值,并为其提供了一系列操作。 例如:java.lang.Integer类提供了以下构造方法: Integer(int value) Integer(String s)【常用方法】【程序分析】注:对于int i=...
阅读全文
摘要:【File】java.io.File类代表系统文件名(路径和文件名)。 ----注意:这里代表的只是文件名,而不是物理上的文件(硬盘上的数据),通过该类无法读取实际数据,只能操作文件名。常见的构造方法:注:在这里new一个FIle对象并不代表硬盘上产生一个实体文件,只是在内存中产生一个文件对象...
阅读全文
摘要:【枚举类型】只能取特定值中的一个。使用enum关键字。是java.lang.Enum类型。【程序分析】public enum MyColor {red,yellow,green};MyColor mc = new MyColor();switch(m){ ...}
阅读全文

浙公网安备 33010602011771号