Java程序初始化顺序及几个关键字用法记录
来源:互联网 发布:网络电视能玩游戏吗 编辑:程序博客网 时间:2024/06/03 20:29
private----私有的,只能在这个类当中访问,不用private修饰类,但内部类可以用private修饰
final关键字可以用来修饰类、方法、变量。修饰类时该类不能被继承;修饰方法时该方法不能被重写;修饰成员变量时,该变量可理解为常量必须赋以初值。并且该变量的值不能再改变。
Java中初始化顺序先变量后方法,变量中先静态变量后实例变量。先初始上s2,flag1,s2是Star类的对象,加载Star类。(Star类中无类变量,调用构造函数创建s2),接着初始化flag1,加载Flag类,该类中初始顺序为s2,s1,s3,接着调用构造函数Flag()。然后从main方法进入,创建flag2,s1类变量已经初始化过,只是再次实例化s1,s3,接着调用Flag()创建对象,最后实例化InitOrder类中的s1对象。
friendly---java中默认的权限(没有任何访问权限修饰符修饰的类和类的成员)。只能在类本身和同一包中的类访问。其他包中的类即使是这个类的子类也不能访问这些成员
protected---受保护的成员,这些成员可以被这个类本身、该类的子类(无论在哪个包里)和与该类在同一包中的其他类访问
public----修饰的类、类的成员,可以被所有的内访问
final关键字可以用来修饰类、方法、变量。修饰类时该类不能被继承;修饰方法时该方法不能被重写;修饰成员变量时,该变量可理解为常量必须赋以初值。并且该变量的值不能再改变。
static------修饰的变量成为类变量(静态变量),修饰的方法为类方法(静态方法),均可通过类名直接引用。静态方法中不能直接访问实例字段或实例方法,也不能使用this和super关键字。
静态变量在加载类的过程中就完成内存分配,JVM只为它分配一次内存,其生命周期和所在的类生命周期是一样的。对于实例变量,每创建一个实例JVM就为它分配一次内存,实例变量可以在内存中有多个备份互不影响。
Java程序的初始化顺序
import static java.lang.System. out;
class Star{
Star( int m){
out.println( "Star("+m+ ")");
}
void s( int m)
{
out.println( "f("+m+ ")");
}
}
class Flag{
Star s1 = new Star(11);
Flag()
{
out.println( "Flag()");
s3= new Star(55);
s3.s(66);
}
static Star s2 = new Star(22);
void f(){
out.println( "f()");
}
Star s3 = new Star(33);
}
public class InitOrder {
Star s1 = new Star(1);
public static void main(String[] args){
out.println( "create new Flag() in main" );
Flag flag2 = new Flag();
flag2.f();
s2.s(22);
flag1.f();
new InitOrder();
}
static Star s2 = new Star(2);
static Flag flag1= new Flag();
}
Java中初始化顺序先变量后方法,变量中先静态变量后实例变量。先初始上s2,flag1,s2是Star类的对象,加载Star类。(Star类中无类变量,调用构造函数创建s2),接着初始化flag1,加载Flag类,该类中初始顺序为s2,s1,s3,接着调用构造函数Flag()。然后从main方法进入,创建flag2,s1类变量已经初始化过,只是再次实例化s1,s3,接着调用Flag()创建对象,最后实例化InitOrder类中的s1对象。
0 0
- Java程序初始化顺序及几个关键字用法记录
- java内存相关及程序初始化顺序
- Java程序初始化顺序
- java 程序初始化顺序
- Java程序初始化顺序
- Java程序初始化顺序
- Java程序初始化顺序
- Java程序初始化顺序
- [转贴] Java程序初始化顺序
- java程序初始化顺序初探
- java程序初始化的顺序
- Java程序初始化的顺序
- Java程序的初始化顺序
- java程序初始化的顺序
- java程序初始化的顺序
- Java程序的初始化顺序
- Java程序初始化的顺序
- java Static关键字初始化顺序初探
- postfix 安装配置详解
- uva 340 Master-Mind Hints(最简单标记搜索)
- Windows 7下DebugView的设置
- Android笔记之 以JSON方式与服务器通信
- paper的准备
- Java程序初始化顺序及几个关键字用法记录
- [LeetCode]Evaluate Reverse Polish Notation
- C语言版随机数的生成
- H.264丢包模拟软件设计:
- 关于数据云图的解析
- Sublime Text 2 - 性感无比的代码编辑器!程序员必备神器!跨平台支持Win/Mac/Linux
- linux下oracle11G DG搭建(一):环境准备
- jsp做页面导出成word文件和excel文件
- 8、代码整洁之道——边界