在eclipse中链接源码
在JRE System Library 中有很多源文件,在某些包下打开.class文件,当没有看见源码的时候,点击Attached source:
Workspace:表示源码在当前的工作区中
External File:表示源码在某个压缩包中
External Folder:表示源码在某个目录中
比如可以看String.class的源码。(shift+Ctrl+T)
很多代码可以根据源码进行编写。
在类库中一般包括三个部分
源码:可以通过源码来理解程序
字节码:程序开发的过程中使用的就是这部分
帮助文档:对开发提供帮助
在适应时注意版本的统一
final关键字
成员员变量之实例变量
实例变量有默认值,并且final变量一旦赋值之后就不可再重新赋值,所以java语言最终规定实例变量使用final修饰后,必须手动赋值,不能采取系统默认值。
public class Finaltest {
//final int age;//出错的,
//第一种方案,直接赋予初始值
final int age=10;
//第二种方法是创建一个构造方法
final int num;
public Finaltest()
{
this.num=200;
}
//其实两种方法是一样的,因为在执行赋值号时,就是调用构造方法进行赋值
public static void main(String[] args) {
// TODO Auto-generated method stub
}
}
- final是一个关键字,表示的是最终的,不可变的。
- final修饰的类无法继承
- final方法无法被覆盖
- final修饰的变量一旦赋值不可再重新赋值
- final修饰的实例变量必须手动赋值,不可采用系统默认值
- final修饰的引用,一旦指向某个对象之后,不能再指向其他的对象,那么被指向的对象无法被垃圾回收站回收
- final修饰的引用虽然指向某个对象之后不可以在指向其他的对象,但是所指向的对象内部的内存可以被修改的。
public class Finaltest {
public static void main(String[] args) {
// TODO Auto-generated method stub
//创建用户对象
User u=new User(200);//表示u指向的某个地址
//当再创建一个新的对象时,
//程序执行到此处表示以上对象变成了垃圾数据,等待垃圾回收站的回收
u=new User(100);//指向的是新的地址。
final User user=new User(100);
//user=new User(200);//出错
//加final后,分配给他的地址是不可以改变的。
user.id=50;
//对象指向的地址不变。但是里面的数据是可以改变的
}
}
在中国人的类中,每个中国人的国籍都不会改变,为了防止国际被修改,建议加final修饰。
实例变量不可变,和static联合使用,被称为常量
//常量定义的语法格式:
// public static final 类型 常量名=值;
static final String Guo_ji=“中国”;
//如果不加static就会给每一个对象分配空间,从而造成浪费,
static final String Guo_ji="中国";