学习笔记(一)初始化与清理

来源:互联网 发布:哈工大数据集 编辑:程序博客网 时间:2024/06/06 09:52

自己整理的,可能有些地方不对,不喜勿喷。

1.静态方法中不能调用非静态方法和非静态变量,当类没有初始化的时候就可以使用静态方法,而非静态变量还未产生。调用静态方法时推荐直接调用,不需创建对象。

2.如果在方法里想用this关键词时,必须先在类中定义成员变量,当成员变量和方法里的局部变量名字相同时,这是可以用到


this.
例:public class People{ 
String name; //这个name这就是我们说的类的成员变量(也叫类的属性)


public void getName(String name){ 
//这里的是name是一个参数,是getName这一个方法(也叫函数)的一个参数(变量),跟上面的name不是一样


的东西!你必须弄清楚现在有两个变量(参数)的存在 


this.name = name; 

    } 
如果此时实例化一个People对象A,A具有People中的属性,A.name 和getName 方法中的 this.name 是等价的。
3.重载构造器,在一个类中调用同类中的构造器,可以通过this+构造器所接受的参数类型。而且只能调用一个。
例:public class Test{
Test(int s){
           this("Hello");            //通过给this 一个字符串参数,可以调用接收字符串类型的构造器 Test(String s)
  System.out.println("world!");
}
Test(String a){
  System.out.println(a);
}
Test(cahr b){
  System.out.println(b);
}
    }
4.java提供finalize()方法,垃圾回收器准备释放内存的时候,会先调用finalize()。不过,垃圾回收和finalize()都是靠不住


的,只要JVM还没有快到耗尽内存的地步,它是不会浪费时间进行垃圾回收的。所以想让例子中的finalize()方法总是执行,须加


上System.gc()。System.gc()是通知java虚拟机(jvm)执行垃圾回收的命令。
public class test {
protected void finalize(){
System.out.println("Hello World!");
}
public static void main(String[] args){
new test();
System.gc();


}
}
0 0
原创粉丝点击