学习兴趣群437469371 这是一个学习java的群人 欢迎各位一起学习的加入欢迎可以讨论问题谢绝广告
作为一个程序员,第一个碰到的程序一般都是Hello World,我这第一次学习也是学习hello world,hello world 是一个显示,没有什么逻辑,就一个简单的显示。
程序代码:
package 第一阶段练习.day01;
public class HelloWorld {
public static void main(String []args){
System.out.println("Hello World");
}
}
运行结果:
Package 后面接的是包名,是我们的程序所在位置。
Public class 每一个java程序里面只能有一个用public 修饰的类,这个类一般使我们的最主要的类。
Public static void main (String []args)
如果在修饰的元素上面没有写任何访问修饰符,则表示friendly。s
作用域 当前类 同一package 子孙类 其他package
public √ √ √ √
protected √ √ √ ×
friendly √ √ × ×
private √ × × ×
static 的用法
static可以用来修饰类的成员方法、类的成员变量,另外可以编写static代码块来优化程序性能。
1.static方法
static方法一般称作静态方法,由于静态方法不依赖于任何对象就可以进行访问,因此对于静态方法来说,是没有this的,因为它不依附于任何对象,既然都没有对象,就谈不上this了。并且由于这个特性,在静态方法中不能访问类的非静态成员变量和非静态成员方法,因为非静态成员方法/变量都是必须依赖具体的对象才能够被调用。
但是要注意的是,虽然在静态方法中不能访问非静态成员方法和非静态成员变量,但是在非静态成员方法中是可以访问静态成员方法/变量的。
2.static变量
static变量也称作静态变量,静态变量和非静态变量的区别是:静态变量被所有的对象所共享,在内存中只有一个副本,它当且仅当在类初次加载时会被初始化。而非静态变量是对象所拥有的,在创建对象的时候被初始化,存在多个副本,各个对象拥有的副本互不影响。
static成员变量的初始化顺序按照定义的顺序进行初始化。
3 static代码块
static关键字还有一个比较关键的作用就是 用来形成静态代码块以优化程序性能。static块可以置于类中的任何地方,类中可以有多个static块。在类初次被加载的时候,会按照static块的顺序来执行每个static块,并且只会执行一次。
String args[]或者String[] args表示给主方法传一个字符串数组.而args是一个字符串数组的变量名,不是关键字,是arguments的缩写,只是一个默认名,一般都习惯性照写.
System.out.println("Hello World");
这里就涉及用到一个static关键字。如下图,其实System是java.lang里面的一个类。
而out就是System里面的一个数据成员(也称为字段),但这个成员不是基本类,而是java.io.PrintStream类的对象,java.io.PrintStream类有些什么方法等一下再说。我们先看看下面的截图,被关键字static修饰的数据成员或方法可以直接通过“类名.数据成员”或“类名.方法”来引用,而无须先建立对象。所以System.out是应用了out这个静态数据成员。
而out又是一个java.io.PrintStream类的对象,所以out必然可以调用java.io.PrintStream类里面的方法,println()就是java.io.PrintStream类里的一个方法,它的作用就是用来想控制台输出信息的。