java一些很基础的东西

本文详细介绍了Java的基础概念,包括JRE的定义及用途、main方法的作用与声明方式、package的使用方法及其重要性、static关键字的功能及应用场景,以及Java程序的运行机制。
1 什么是JRE
JREJavaRuntime Environment,即Java运行环境,有时简称JRE
如果你只需要运行Java程序或Applet,下载并安装它即可。
如果你要自行开发Java软件,请下载JDK。在JDK中附带有JRE 

2 .
我在java xxx的时候显示"Exception in thread "main" java.lang.NoSuchMethodError: main"
首先,在你的程序中每个java文件有且只能有一个public类,这个类的类名必须和文件名的大小写完全一样。其次,在你要运行的类中有且只能有一个public static void main(String[] args)方法,这个方法就是你的主程序。

3 .package
是什么意思?怎么用?
为了唯一标识每个类并分组,java使用了package的概念。
每个类都有一个全名,例如String的全名是java.lang.String,其中java.lang是包名,String是短名。
样,如果你也定义了String,你可以把它放在mypackage中,通过使用全名mypackage.String java.lang.String来区分这两个类。同时,将逻辑上相关的类放在同一个包中,可以使程序结构更为清楚。你要做的就是在java文件开头加一"package mypackage;"
注意包没有嵌套或包含关系,A包和A.B包对java命令来说是并列的两个包。

4
我想知道为什么main方法必须被声明为public static?
声明为public是为了这个方法可以被外部调用
static
是为了将某个成员变量/方法关联到类(class)而非实例(instance)
你不需要创建一个对象就可以直接使用这个类的static成员,在A类中调用B类的static成员可以使用B.staticMember的写法。
注意一个类的static成员变量是唯一的,被所有该类对象所共享的

5:static 的一些东西                                                                                                                                                                                       被申明为static的变量/方法被称为类变量/方法,类方法不能访问非静态的实例变量,成员方法可以直接访问类变量,类方法不能以任何方式引用super和this关键字                                                                                                                                                              静态代码块(static block)不包含在任何的方法体中,当类被载入时会被自动的执行一次,且只有一次,经常用于类变量的初始化工作 ex:                                                                                                                                                                                                          class user{

public static string counter;

static {

    counter ="china";

System.out.println("here is the init of counter!");

}

}

java程序的运行过程                                                                                                                                                                                           java程序是虚拟机解释的,其运行过程是简单、确定的。准确的java运行机制可以参考Inside JVM一书,没有必要自己琢磨。  在介绍java程序运行过程前,首先说明以下规则:                                                                                                                                    规则1、 jvm在第一次用到某个类时,才会装载这个类。                                                                                                                                 规则2、在装载类时,jvm为这个类的所有静态变量分配空间,并全部初始化为0。然后按照静态变量在类定义中出现的顺序依次调用每个静态变量的初始化语句。                      规则3、在创建类的实例时,jvm为这个类的所有实例(非静态)变量分配空间,并全部初始化为0。然后按照实例变量在类定义中出现的顺序依次调用每个实例变量的初始化语句。最后调用这个类的构造函数。                                                                       根据上述规则,java程序的运行过程应该是这样的:<o:p></o:p>

1: jvm装载用户指定的类,为这个类的所有静态变量分配空间,并全部初始化为0。然后按照静态变量在类定义中出现的顺序依次调用每个静态变量的初始化语句。然后才开始找main函数,如果找不到,就提示"java.lang.NoSuchMethodError: main",找到就执行main。<o:p></o:p>

2、依次执行main函数的各个语句。<o:p></o:p>

3、遇到没有装载过的类,就按照“规则2”装载这个类。<o:p></o:p>

4、遇到new语句,就按照“规则3”创建类的实例

ps:回过头再看有新的感受,记个笔记<o:p></o:p>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值