Core Java学习笔记 对象和类

Posted on 2010-05-17 16:27 eric_xu 阅读(324) 评论(0)  编辑  收藏 所属分类: Java
 

任何对象变量的值都是对一个对象的引用。

显示参数和隐式参数。

class Employee

{

   . . .

   private final String name;

}

private final Date hiredate;

final应用于基本数据类型,表示值不可变,应用于类对象,表示对象的引用不可变。

一个引用不能改变作为参数的基本类型数据,但能改变对象,因为传入的参数是对象的引用,不能改变对象引用。

main()是一个程序执行的入口,系统必须先进入这个入口,也就是先要调用main()函数,才能继续程序的执行,如果main()不用static修饰,系统就没法进行调用,因为一开始系统不能创建任何对象。而加上了static后,系统就可以直接调用main()函数了,从而继续程序的执行。 

public static void swap(Employee x, Employee y) // doesn't work
{
   Employee temp = x;
   x = y;
   y = temp;
}
Employee a = new Employee("Alice", . . .);
Employee b = new Employee("Bob", . . .);
swap(a, b);
a,b的引用没有改变。
 
一个方法不能改变一个基本类型的参数
一个方法可以改变一个对象参数的状态
一个方法不能让对象参数引用一个新对象

默认值:数值为0,对象为null,布尔型为false

public Employee(String name, double salary)
{
   this.name = name;
   this.salary = salary;
}

This指示隐式参数,即被构造的类对象。

public Employee(double s)
{
   // calls Employee(String, double)
   this("Employee #" + nextId, s);
   nextId++;
}

This将调用同一个类的另一个构造函数。

初始化块
// static initialization block
static
{
   Random generator = new Random();
   nextId = generator.nextInt(10000);
}

可以为任何一个类添加finalize方法,finalize方法将在垃圾回收器清除对象之前被调用。因为某些对象使用了内存之外的其他资源,如文件。


只有注册用户登录后才能发表评论。


网站导航:
 

posts - 37, comments - 5, trackbacks - 0, articles - 0

Copyright © eric_xu