重拾计算机知识、java俩月来,发现自己底子好薄,好多东西知道但理解不深,这样不好-容易膈着腚疼。

 

java回收垃圾: system.gc();对象指null。

析构方法平时可以被调用,但类不会被销毁,也不会有任何效果。

变量为定义可以在for等结构中复用:

public static void main(String[] args) {    
        for(int i=0; i <1;i++){}
        for(int i=0; i <1;i++){} 

}

传值,传递的是值得拷贝,传递后互不相关了。

传引用,是值得引用,也就是传递前后指向同一块内存。

java中只有基本类型和双引号定义的String是按值传递。

初始化子类前先初始化父类

构造方法不能被继承,许多情况下使用默认的构造方法对父类进行初始化

可以super来显示调用父类的构造方法,super/this必须在构造方法第一行

 

new谁就掉谁的方法,但编译时看那数据类型,运行时看new的实际对象类型

Parent e = new Childern() e不可以调用children私用的东西,编译会报错

覆盖方法,权限不允许缩小。

 

一个类中,一个static变量只会有一个内存空间,多个实例共享同一个static

static的变量是在类装载的时候被初始化的,无论你用不用他

静态方法:

可以直接用类名调用,不需要new实例

只能访问静态属性

不能直接调用非静态方法

不存在当前对象,因而没this/super

静态不能被非静态覆盖

构造方法不能被声明为static

 

堆内存用来存放由new创建的对象与数组

数组占用连续的地址空间,数组一旦被创建,不能改变长度

 

java内存分配:

方法区:基本信息;运行时常量池;字段信息;方法信息;静态变量

栈内存:以帧形式存放本地方法调用

堆内存:new对象与数组

 

$ _ 字母 三类可做变量首字母

unicode 16位 4个16进制数字 “龙”9F99

hashcode true 1231 false1237

八进制0开头 0x十六进制

 

ipv4 32位 分成4个每个8位 最大256,也就是一般是4个十进制数字标示

ipv6 128位 表达形式一般采用32个十六进制数然后4个一组,看起来和ipv4蛮像的

 

修饰符作用域:

  同类中 同包中 不同包自类 任何位置
private      
无修饰符    
protect  
public

类的修饰符只有public/无修饰符,方法四类都有

参数变量和局部变量直到程序调理该方法/方法结束

java变量的范围:

对象实例级 方法 块级
static 属性变量 局部变量  
posted on 2013-09-30 10:50  alex.tt  阅读(146)  评论(0)    收藏  举报