java中"new"关键字的作用及含义

我们常常在Java学习中,听到别人调侃程序员:"没对象了怎么办,简单呀,"new"一个对象"。看似是一个调侃其实是有道理的,关于"new"关键字的详情请看下面一段示例:

class Student{
	private String name="林青霞";
	private int age =27;
	public Student(){
		name="小狗子";
		age=19;
	}
	public void show(){
		System.out.println(name+"-------"+age);
	}
 }

public class StudentDemo {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Student s=new Student();
		s.show();
	}

}

在本例中    Student s=new Student();  的作用就是

             1.加载Student.class文件进内存。

             2.在栈内存为s开辟空间

             3.在堆内存为学生对象开辟空间

             4.对学生对象的成员变量进行默认初始化

             5.对学生对象的成员变量进行显示初始化

             6.通过构造方法对学生对象进行成员变量赋值

             7.学生对象初始化完毕,把对象变量赋值给s变量

说这么多,总结下来就是:

              1.Java关键字new是一个运算符。与+、-、*、/等运算符具有相同或类似的优先级。

              2.创建一个Java对象需要三部:声明引用变量、实例化、初始化对象实例。

              3.实例化:就是“创建一个Java对象”-----分配内存并返回指向该内存的引用。

              4.初始化:就是调用构造方法,对类的实例数据赋初值。

关于"new"关键词对对象内存的分布深入解析请参考:https://blog.csdn.net/ljheee/article/details/52235915

oracle官方解释网址:https://docs.oracle.com/javase/tutorial/java/javaOO/objectcreation.html

你可能感兴趣的:(java)