public class test05 { public static void main(String[] args) { System.out.println("Hello World!"); }}
public、static、void这些参数都是用来修饰、定义之后的变量、函数、类的
1.public,定义了某个对象的“外部可见性”(visibility)
2.static,可以用来定义静态变量或静态函数。被static定义的函数,可以不需要new一个新类而直接调用。比如,在Math类中定义一个 public static sub()方法,我们可以直接调用Math.sub()即可。静态方法和静态变量,程序一启动,便在内存中初始化了,而不需要通过构造函数进行new。那为什么要static呢,因为java核心编程中,main方法作为程序执行的入口,JVM会查找类中的public static void main(String[] args),main方法是静态才能直接被调用。
3.String[] args,定义主方法的参数列表为String类型的数组,取名为args。作用是保持运行main函数时输入的参数的,必须要有。
4.println 和 printf:区别就是printf 可以进行格式化输出,而println 则是标准输出
数组
有三种形式对数组进行声明、定义和调用
int[] a; a = new int[2]; a[0] = 1; //第一种 int[] b = new int[2]; a[0] = 1; //第二种 int[] c = new int[] {1, 2}; //第三种
我们先看下相似情况的变量赋值:
int a = 1;
这个和我们上面的 int[] b = new int[2]; 是不是有点相似?这里就可以引申到几个知识点:
1、new int[2] 和 常量 “1” 的区别。
java中存储数据的地方可以有那么几个重要的地方:(引用于:http://uule.iteye.com/blog/1417299)
①. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符串常量对象存放在常量池中。)②. 堆:存放所有new出来的对象。③. 静态域:存放静态成员(static定义的)④. 常量池:存放字符串常量和基本类型常量(public static final)
这样的话,我们就可以知道,
“int a”这种声明(引用)是保存在“栈”
“new int[2]”这种对象,是保存在“堆”
“1”则是保存在"常量池"
数组这种对象,是要分配内存到“堆”中,我们才可以使用 ,所以要“new”;而“1”是直接在常量池,可以直接引用。
对象
1、关于this
①this的使用过程:this是在class中使用,class要使用就必须实例化。所以this就是表示实例化后的对象。并使用"."的方式,来说进行使用。