随笔分类 - JAVA
摘要:JDK1.5增强的for循环(foreach??)
阅读全文
摘要:掌握1136:(1)1个图(2)1个类:Collections(3)3个知识点:For(了解),Generic泛型,Auto-boxing/unboxing(自动打包/解包)(4)6个接口:Collection,Set,List,Map,Iterator(迭代器),Comparable...
阅读全文
摘要:http://www.cnblogs.com/happyPawpaw/archive/2013/01/18/2865957.htmlimport java.util.*;public class ProducterConsumer{ private LinkedList box= new Li...
阅读全文
摘要:一、概念1、多个线程之间访问同一资源,进行协调的过程是线程同步。例如两个人同时操作同一银行账户。解决方法:加锁2、Java种引入对象互斥锁的概念,保证共享数据操作的完整性。每个对象都对应于一个可称为“互斥锁”的标记,这个标记保证在任一时刻,只能有一个线程访问该对象。关键字synchronized来与...
阅读全文
摘要:一、概念 线程:是一个程序里面不同的执行路径,每一个分支都叫线程。到现在为止我们所讲的程序分支只有一个,即main方法,称作主线程。 进程:class文件,exe文件。程序的执行过程:程序放入代码区(进程产生,准备开始执行,进程是静态的概念),平时所说的“进程的执行”是指进程中主线程(main)...
阅读全文
摘要:JAVA中的内存泄露1、java内存泄露的情况是什么样的? 当长生命周期的对象持有短生命周期对象的引用时就很可能发生内存泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不能被回收,这就是JAVA中内存泄露发生的场景。 通俗地说,就是程序员可能创建了一个对象,以后一直...
阅读全文
摘要:http://blog.csdn.net/chmask/article/details/2631485http://www.cnblogs.com/hnrainll/archive/2011/12/29/2305582.html参考:http://zz563143188.iteye.com/blog...
阅读全文
摘要:1、概念:接口是抽象方法和常量值得定义的集合。本质上,接口是一种特殊的抽象类,这种抽象类只包含常量和方法的定义,而没有变量和方法的实现。 接口定义举例:2、接口特性:(1)接口可以多重实现;(接口可以继承接口,类可以实现接口,类可以继承类)(2)接口中声明的属性(成员变量)默认是public static final的,也只能是public static final的; 这是为了修正C++中多继承容易出现问题(重复的成员变量)。(3)接口中只能定义抽象方法,而且这些方法默认是public的,也只能是public的; 接口中的方法不用加abstruct,默认就是抽象方法,而且只能是抽象方法...
阅读全文
摘要:相当于C++中的const(1)final的变量值(成员变量、局部变量(形参))不可被改变;(2)final的方法不能被重写;(3)final的类不能被继承。
阅读全文
摘要:(1)abstrac关键字类修饰的类是抽象类,用abstract修饰的方法是抽象方法;(2)含有抽象方法的类必须被定义为抽象类;(3)抽象类必须被继承,抽象方法必须被重写(或者将子类也声明为抽象类);(4)抽象类不能被实例化;(5)抽象方法只需声明,不需实现。如:public abstract void enjoy();//抽象方法例如:JAVA笔记9中可以将Animal定义为抽象类(仅改变Animal的定义即可)。public class TestAnimal{ public static void main(String args[]){ Dog d=new Dog("...
阅读全文
摘要:1、动态绑定:执行期间(而非编译期间)判断所引用对象的实际类型,根据实际的类型调用相应方法。2、多态存在的三个必要条件(同时):继承、重写、父类引用指向子类对象。 这三个条件满足后,当调用父类中被重写的方法时,实际new的是哪个子类对象,就调用该子类的方法。例子:public class TestAnimal{ public static void main(String args[]){ Dog d=new Dog("dogname","black"); Cat c=new Cat("catname","blue"
阅读全文
摘要:1、规则(1)基类(父类)的引用类型变量可以指向其子类对象;(向上转型)(2)基类的引用不可以访问其子类对象新增加的成员(属性和方法);(3)可以使用“引用变量 instanceof 类名”来判断该引用变量所指向的对象是否属于该类(或该类的子类);(4)子类对象可以当做基类对象来使用,即基类引用指向子类对象,是向上转型(upcasting);反之,向下转型(downcasting)。例1:public class TestAnimal{ public static void main(String args[]){ Animal a=new Animal("name");
阅读全文
摘要:位于rt.jar\java\lang\Object.classObject类是所有Java类的根基类(Java中只有一个根基类,C++中有多个)。如果在类声明中未使用extends关键字指明其基类,则默认其基类为Object类。所有对象,包括数组,都实现了Object类的方法。1、toString()方法蓝色高亮行代码等价于d.toString()。输出:d:=Dog@757aef。重写toString()方法:2、哈希编码3、equals()方法例题:public class TestEquals{ public static void main(String args[]){ ...
阅读全文
摘要:1、(1)类的成员的权限修饰符有public,protected,private或default,限定其他对象对该类对象成员的访问权限。(2)class的权限修饰符只可以是public或default public:类可以在任何地方被访问; default:类只可以被同一个包内部的类访问。2、继...
阅读全文
摘要:1、基本介绍 为便于管理大型软件系统中数目众多的类,解决类的命名冲突问题,Java引入包(package)机制,提供类的多重类命名空间。在实际项目开发中任何类都应该定义在包中。(1)package语句必须作为Java源文件的第一条语句,指明该文件中定义的类所在的包。(如果缺省package语句,则指定为无名包) 格式:package pkg1[.pkg2[.pkg3...]];约定俗成的规定是包名写成“公司域名倒过来”,后面还可以加入项目名、部门名等。(2)Java编译器把包对应于文件系统的目录管理,package语句中,用“.”来指明包(目录)的层次,例如: package com.s...
阅读全文
摘要:1、java中的变量先声明、再赋值、再使用。(局部变量必须初始化,成员变量默认初始化)2、基本类型之外的所有类型都是引用类型。基本类型占一块内存,引用类型占两块(所有new出来的东西装在堆内存,因为是堆是在运行时动态分配内存)。方法只有在调用的时候才占用内存。四块:(待完善)code seg代码区:存放类(类的方法)data seg数据区:存放静态变量和字符串常量stack栈内存:存放基本类型变量和局部变量(方法参数和方法内生成的变量)(局部变量都分配在这)heap堆内存:存放new出来的对象3、关于构造方法:如果自己没有定义,则编译器自动添加默认构造方法;如果自己已经定义了,则编译器不再生成
阅读全文
摘要:合适的方法放在合适的类之中。设计中,分解出应该具有哪些对象(面向对象),不要再想步骤了(这是面向过程)。设计过程:step1:问题中有哪些类和对象(找名词,之后区分是类还是属性)step2:这些类和对象的属性和方法step3:类和类之间具备的关系(下面五种关系)属性(成员变量,attribute)和方法(成员方法,method)分别表示静态属性和动态属性。设计的时候,用到的关系1、关联关系:一般是一个类的方法里是另外一个类的对象。如一个教室的“teach()”方法中以研究生为参数。(是最弱的关系)2、继承关系:只允许单继承(C++中有多几次,但是如果出现两个父类重名则很麻烦)3、聚合关系:xx
阅读全文
摘要:1、static方法中不能使用this关键字2、例题:static成员变量用于计数
阅读全文
摘要:http://developer.51cto.com/art/200906/130414.htmhttp://blog.csdn.net/cyzero/article/details/7266831总结:多态三要素(三个必须同时满足):继承、方法重写、父类引用指向子类对象当父类引用指向子类对象时,调...
阅读全文

浙公网安备 33010602011771号