您的位置:首页 > 编程语言 > Java开发

Java学习历程(一点学习笔记)

2013-04-15 21:07 309 查看
 内存布局:堆段(heap segment):存放New出来的东西 , 栈段(stack segment):局部变量 , 数据段(date segment):存放静态变量和字符串常量 , 代码段(code segment):存放代码

 类型: byte(1byte) , short(2byte) , char -> int(4byte) -> long(8byte) -> float(4byte) -> double(8byte) --- 注意隐式申明

 逻辑: 与(&) , 或(|) , 非(!) , 赋值(=) , 等于/不等于(==/!=) , ^(异或) , &&(短路与) , 短路或(||) , 三目运算(a?b:c)

 语句:  条件语句(if..else.. , switch..case  )    循环语句(for , while , do..while)    break(终止循环) , Continue(跳过本次循环) , return(返回)

 常用命令:java -cvf 打包文件名(xx.jar) 打包文件类型(一般*.*) ;

 面向对象思维:首先应把对象抽象出来成立类,然后确立对象(类)与对象的关系和对象应有的属性和方法,最合适的方法出现最合适的类里

 编程规范:注意缩进 , 注意空格 , 类名首字母大写(驼峰标识) , 方法名(参数)首字母小写(驼峰标识) , 取名有意义

 

 -------------面象对象笔记--------------------------------

 JAVA两种核心机制:JAVA虚拟机机制(JAVA Virtual Machine) , 垃圾收集机制(Garbage collection)

 编程语言发展:机器语言 -> 汇编语言 -> 高级语言 -> 面向对象 -> 面向组件

 类和对象的概念:类是用一些动态属性(方法)和静态属性(变量)来描述具有相同特征的一类事物的一个抽象概念 , 一个对象是类的一个具体实例,类是一类对象的模板

 类(对象)之间的关系:关联关系 -> 继承关系 -> 聚合关系(聚集、组合)-> 实现关系 -> 多态

 JAVA引用:即是C/C++中的指针,JAVA中除基本类型外,其他都是引用类型(既用栈中变量指向堆中对象)

 JAVA构造方法:在创建类的实例(对象)时,实例继承所有类的变量和方法,构造方法主要用于实例的初始化,可以重载

 new关键字:用于构造对象的实例(对象) ,     HelloWorld He;    //给HelloWorld增加一个对象He , He = new HelloWorld;    //实例化对象He , HelloWorld He = new HelloWorld; 增加一个对象He并且实例化

 方法重载(OverLoad):是指具有相同名字而参数不同(参数类型或参数个数或参数顺序)的多个方法

 this和super关键字:this是指向对象自身的引用 , super是指向其父类的引用

 static关键字:可申明静态变量(注:属于该类公共变量)或静态方法(调用不需要对象,也不可调用非静态方法)

 package和import:package(打包,一般为公司域名倒着,编译后的类必须放在正确的目录下)和import(引用包,注意引用目录的正确性)

 访问控制符:private(私有) , default(默认) , protected(受保护) , public(公开的) ; 修饰类权限时只能default或public

 JAVA继承(extends):通过extends关键字来实现类或接口的继承(继承后,子类自动拥有基类(接口)的所有方法和属性), JAVA只支持单继承,不允许多继承(既一个子类只能拥有一个基类,但基类可以有无数子类);Object类是所有未申明继承类的根基类

 JAVA重写(OverWrite/Override):子类中通过需要对基类继承来的方法进行重写;重写方法必须和被重写方法具有相同的定义;重写方法不能使用更严格的访问权限

 继承中的构造方法:子类构造方法必须调用其基类的构造方法

 对象转型(casting):分为向上转型(upcasting)和向下转型(downcasting);

 instanceof关键字:可以使用 instanceof 来判断一个引用变量是否属于该类或该类的子类

 多态:多态的存在必须满足:一、要有继承 , 二、要有重写 , 三、父类引用指向子类对象

 抽象类:用 abstract 关键字修饰的类或方法叫抽象类或抽象方法,含有抽象方法的类的类必须被申明为抽象类,抽象类必须被继承,抽象方法必须被重写,抽象类不能被实例化,抽象方法只需申明不需实现

 final关键字:其修饰的变量(参数)不能改变,其修饰的方法不能重写,其修饰的类不能继承,另外该关键字可以申明常量

 接口(interface):是抽象方法和常量值的定义的集合;从本质上来讲,接口是一种特殊的抽象类,这种类只包含常量和方法的定义,而没有变量和方法的实现

 implements 关键字:实现接口的引用

 抛出(throw):JAVA程序在运行期时,若执行程序出现异常事件,则可以生成一个异常对象,该异常对象封状了该事件的异常信息并提交给JAVA运行系统,这一过程称为抛出(throw)

 捕获(catch):当JAVA运行系统接收到异常对象时,会尝试寻找能处理这一异常对象的代码,并把异常对象提交处理这一过程称为捕获(catch)

 异常的分类:异常类的基类是 Throwable 又分为Eroor , Excption两大类.其中Excption又分为RuntimeException和其他.

 数组(array):JAVA中使用new关键字创建数组对象 , java.lang.System.arraycopy() 数组拷贝

 容器(Collection):储存对象的,可灵活变动的一些内存空间,分为集合(Set 代表有:HashSet)、列表(List 代表有:ArrayList、LinkedList)、键值(Map 代表有:HashMap、TreeMap)三种方式;其中第一种无序不可重复,第二种有序可重复,且前两者从collection继承,后者没有

 流(Stream):IO类按照传输大小分为字节流(InputStream/OutputStream)和字符流(Reader/Writer),按照流出方向分为输出流(output)和输入流(input),按功能分可分为节点流和处理流

 线程(Thread):线程是一个程序里不同的执行路径;

 synchronized 关键字:对某一对象加锁,也可作为方法标识符对方法加锁,但是不能阻止没加锁的方法访问

 

 ------------------其他随笔------------------------------

 一、有继承的类中不能存在两个方法名相同

 二、String和StringBuffer,前者为不可变字符串,效率底,后者为可变字符串效率高

 三、容器中,重写equals方法就必须重写hashcode方法

 

  ----------------语句举例    ----------------------------

     

     if(逻辑表达式) {

     逻辑表达式真执行体...

     }else{

   逻辑表达式假执行体...

     }

     

     switch(变量){        //注意JAVA中只能探测int类型

     case 常量1:

          常量1成立执行体...

     break;

     case 常量2:

          常量2执行体...

    break;

    .....

     default:

     }

 

     for(起始表达式;终止表达式;递进表达式) {

     循环体...

     }

     

     while(逻辑表达式) {

   循环体...

     }

 

     do {

     循环体...

     }while(逻辑表达式);                //注意后面有分号

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  学习 Java 笔记 手札