java 构造方法,static关键字,main方法修饰解释

首先,一个java文件中,只能有一个对外公开的类,也就是 只能有一个public修饰的类.注意:这里的java文件,也就是 创建的类文件.java文件(经过JRE编译成.class文件在虚拟机上运行).

构造方法: 对对象的属性(成员变量)初始化.

写法:1.方法名必须与类相同

2.没有返回值类型

3.没有返回值即没有return

public  class ArrayTools {
//这里定义了一个无参构造函数	
	private ArrayTools() {
		
	}
构造方法是系统自动调用的,在初始化对象(new对象)时自动调用.无法自己调用构造方法.如果是只有一个无参构造函数,理论上可以不写,由系统自动补全.但是讲到下面有参数的构造函数的情况下另说.


构造函数的重载

构造函数也符合函数重载规则

构造函数注意事项: 如果定义了一个有参的构造函数,那么必须还要把无参构造函数补上,因为此时系统不会再帮你写无参构造函数了.不写会报错.


static关键字

static (静态)可以修饰变量,此时的变量就叫静态变量.同样,它也可以修饰方法,此时别修饰的方法就叫静态方法.

静态变量:不依赖对象,静态变量被加载的时候,对象还没有创建.

静态变量的特点:1.随着类的加载而产生

2.创建优先于对象存在

3.可以使用类名去调用

使用静态变量的好处:对于多次需要使用的变量,把它们变成静态变量,可以节省内存空间,因为一旦被创建出来的静态变量,它们都是共享的.

静态变量与成员变量的区别:

 静态变量 成员变量

1.所属不同 属于类(类变量) 属于对象,(实例变量)

2.内存中存储位置不同    方法去的静态区

3.加载到内存的时机不同    随着类加载而加载 随着对象创建而创建4.

4.调用方法不同 直接使用类调用 实例的对象才能调用



静态方法中,不能使用成员变量,只能使用静态变量和静态方法.

 静态方法调用,使用类名.方法调用,   静态方法又叫类方法.


一般java文件运行后,内存表现步骤:

1.类首先在运行时会被加载到方法区

2.加载类方法区的同时,扫描是否有静态变量,方法.有的话就直接加载到方法区里的静态区

3.main 方法入栈(压栈)

4.如果main方法有new对象,就在堆内存中创建对象

5.把地址赋给main方法中定义对象的对象名

6.同理,如果main方法里有其他方法,依次进入,本着先进后出的栈空间原则,弹出栈之后,其在方法里定义的局部变量和声明的变量都会释放,到最后main 方法也出栈

7.程序结束,此时,就此java文件而已栈空间都已经释放,堆空间里的对象都变成垃圾,等着某一时刻被GC 回收



public class Testmain {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}
解释main 方法各个关键字之前,首先强调一点:main  并不是Java 关键字,它只是JVM在运行.class 文件时的入口标志.

Public JVM调用main,需要访问的权限

static JVM调用main时候,不再需要创建对象

void  不需要main 有任何返回值

main  在调用程序的时候,程序的入口,并不是关键字
String[] args  接收才能够键盘的输入(基本没用,了解即可)

 上述几个单词中,能改的也就只有string[] 数组的形参名字(args) 能改 . (不过意义不大)

其他的,一概不能更改,约定俗成的,新手也不需要在这方面做过多纠结.照着打,打就了就懂了.程序是写出来的,多打,多练,终会成功!



你可能感兴趣的:(java 构造方法,static关键字,main方法修饰解释)