java里的new到底是啥意思???
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java里的new到底是啥意思???相关的知识,希望对你有一定的参考价值。
举个例子吧 不太理解,郁闷。。。
java里的new的英文意思就是"新的"的意思。在JAVA里就是创建一个新的实例,或者说一个新的对象,
一个普通类在没有实例化之前,就是new之前,它的属性,方法等等在内存中都是不存在的。只有使用new了以后,这个类的一些东西在内存中才会真的存在,也就是说只有new了之后,这个类才能用。
举例说明:
Java中使用 new关键字 加上 构造方法,来创建一个对象,下面是一个名为Cat的类,public class Cat public Cat() System.out.println("这是构造方法"); 使用new + 构造方法 来创建一个对象。
那么也就是Cat c = new Cat();前半部分,Cat c 的意思是,在内存中分配一个变量,名字叫c,这个变量是Cat类型的;后半部分,new Cat(); 这就是new关键字和构造方法来创建一个对象,Cat()是构造方法的名字。
想造出一个对象来,需要运用;new Cat(); 说明 new这个Cat类的一个对象,程序运行的时候,会调用构造方法Cat(),等这个构造方法执行完了,这个Cat类型的对象也就造出来了,真正的出现在内存当中了。
使用new关键字造出来的对象,被分配在内存的堆区(heap),而且等这个对象真正出来之后,还会做一件重要的事情:new关键字创建出一个对象之后,会把这个对象在内存中的地址返回,通过这个地址就可以找到这个对象。
那么上面的写法,Cat c = new Cat();意思就是说,把这个对象在内存中的地址 赋值 给变量c,这就是Java中引用概念,c就叫做引用,或者叫引用变量,或者直接叫变量,没问题,都是它;c的值就是一个内存地址,或者叫引用地址。
通过这个地址,就可以准确的找到刚才创建出来的对象,以后我们要使用这个对象做一些事情,调用此对象的方法什么的,都用过这个引用。
扩展资料:
JAVA其他关键字:
①abstract:
abstract关键字可以修饰类或方法。abstract类可以扩展(增加子类),但不能直接实例化。abstract方法不在声明它的类中实现,但必须在某个子类中重写。
示例:
public abstract class MyClass
public abstract String myMethod();
注释:
采用abstract方法的类本来就是抽象类,并且必须声明为abstract。abstract类不能实例化。仅当abstract类的子类实现其超类的所有abstract方法时,才能实例化abstract类的子类。这种类称为具体类,以区别于abstract类。
如果abstract类的子类没有实现其超类的所有abstract方法,该子类也是abstract类。abstract关键字不能应用于static、private或final方法,因为这些方法不能被重写,因此,不能在子类中实现。final类的方法都不能是abstract,因为final类不能有子类。
②boolean
boolean变量的值可以是true或false。
示例:
boolean valid=true;
if(valid)
<statement>
注释:
boolean变量只能以true或false作为值。boolean不能与数字类型相互转换。包含boolean操作数的表达式只能包含boolean操作数。Boolean类是boolean原始类型的包装对象类。
③break
用于提前退出for、while或do循环,或者在switch语句中用来结束case块。
示例:
for(i=0;i<max;i++)
if(<loopfinishedearly>)
break;
inttype=<somevalue>;
switch(type)
case1:<statement>
break;
case2:<statement>
break;
default:
<statement>
注释:
break总是退出最深层的while、for、do或switch语句。
byte是Java原始类型。byte可存储在[-128,127]范围以内的整数值。
示例:
byteb=124;
注释:Byte类是byte原始类型的包装对象类。它定义代表此类型的值的范围的MIN_VALUE和MAX_VALUE常量。Java中的所有整数值都是32位的int值,除非值后面有l或L(如235L),这表示该值应解释为long。
参考资料:百度百科-Java(计算机编程语言)
参考技术Ajava里的new的英文意思就是"新的"的意思。在JAVA里就是创建一个新的实例,或者说一个新的对象,一个普通类在没有实例化之前,就是new之前,它的属性,方法等等在内存中都是不存在的。只有使用new了以后,这个类的一些东西在内存中才会真的存在,也就是说只有new了之后,这个类才能用。
举例说明:
Java中使用 new关键字 加上 构造方法,来创建一个对象,下面是一个名为Cat的类,public class Cat public Cat() System.out.println("这是构造方法"); 使用new + 构造方法 来创建一个对象。
那么也就是Cat c = new Cat();前半部分,Cat c 的意思是,在内存中分配一个变量,名字叫c,这个变量是Cat类型的;后半部分,new Cat(); 这就是new关键字和构造方法来创建一个对象,Cat()是构造方法的名字。
想造出一个对象来,需要运用;new Cat(); 说明 new这个Cat类的一个对象,程序运行的时候,会调用构造方法Cat(),等这个构造方法执行完了,这个Cat类型的对象也就造出来了,真正的出现在内存当中了。
使用new关键字造出来的对象,被分配在内存的堆区(heap),而且等这个对象真正出来之后,还会做一件重要的事情:new关键字创建出一个对象之后,会把这个对象在内存中的地址返回,通过这个地址就可以找到这个对象。
那么上面的写法,Cat c = new Cat();意思就是说,把这个对象在内存中的地址 赋值 给变量c,这就是Java中引用概念,c就叫做引用,或者叫引用变量,或者直接叫变量,没问题,都是它;c的值就是一个内存地址,或者叫引用地址。
通过这个地址,就可以准确的找到刚才创建出来的对象,以后我们要使用这个对象做一些事情,调用此对象的方法什么的,都用过这个引用。
扩展资料
创建一个对象并将其赋值给一个引用变量:
Point originOne = new Point(23, 94);
Rectangle rectOne = new Rectangle(originOne, 100, 200);
Rectangle rectTwo = new Rectangle(50, 100);
第一行创建了一个 Point 类的对象,第二个和第三个线创建一个Rectangle 矩形类的对象。
这些陈述中的每一个都有三个部分(详细讨论):
声明Declaration:粗体代码是将变量名称与对象类型关联的变量声明。
实例化Instantiating :new关键字是一个java运算符,它用来创建对象。
初始化Initialization:new运算符,随后调用构造函数,初始化新创建的对象。
声明一个变量来指向一个对象,即引用
在此之前,要声明一个变量,需要写:type name
这将告诉编译器将使用name引用一个type类型的对象。用一个原始变量,这个声明也保留了适当的内存量的变量。
你也可以在自己的行上声明一个引用变量。例如:
Point originone;
如果只是声明一个像originone这样的引用变量,其价值将待定,直到有一个对象真正被创造和分配给它。只是简单地声明一个引用变量而并没有创建一个对象。
对于这样,需要使用new运算符。在代码中使用它之前,必须指定一个对象给originone。否则,会得到一个编译器错误-----空指针异常。
处于这种状态的变量,目前没有引用任何的对象,可以说明如下(变量名,originone,一个引用没指向任何对象)。
实例化一个类对象:
new运算符实例化一个类对象,通过给这个对象分配内存并返回一个指向该内存的引用。new运算符也调用了对象的构造函数。
注意:实例化一个类的对象的意思就是创建对象。创建对象时,正在创造一个类的实例,因而实例化一个类的对象。
new运算符需要一个单一的,后缀参数,需要调用构造函数。构造函数的名称提供了需要实例化类的名称。
new运算符返回它所创建的对象的引用。此引用通常被分配给一个合适的类型的变量,如:Point originone =new Point(23,94);
由new运算符返回的引用可以不需要被赋值给变量。它也可以直接使用在一个表达式中。
参考资料:百度百科 - Java (计算机编程语言)
参考技术B 回答在Java中,new关键字被使用来创建一个新的对象,可以理解为创建的意思。使用关键字new来创建一个对象也叫类的实例化,使用new创建对象时,会调用构造方法初始化对象。例如:Object referenceVariable = new Constructor();/* 实例化对象 */可以通过已创建的对象来访问成员变量和成员方法:referenceVariable.variableName;/* 访问类中的变量 */referenceVariable.methodName();/* 访问类中的方法*/
new关键字创建对象的过程介绍1、将类加载到方法区JVM首先会检查这个new指令的参数能否在常量池中定位到一个类的符号引用;如果找不到就将该类加载到方法区并经过解析和初始化等步骤,计算实例化对象所需要的内存;为类的静态变量赋予正确的初始值。2、在堆中开辟一块内存用于存储新创建的对象将类实例化出一个新的对象,根据类加载时计算所需的内存大小;在堆中开辟一块内存,用于存储新对象的成员属性和方法区地址的引用。成员方法引用指向方法区中该对象对应的方法。3、在栈中创建指向对象的引用在栈中创建一个栈针,用于指向堆中创建的对象。
参考技术C在Java中,new关键字被使用来创建一个新的对象,可以理解为创建的意思。
使用关键字new来创建一个对象也叫类的实例化,使用new创建对象时,会调用构造方法初始化对象。例如:
Object referenceVariable = new Constructor();/* 实例化对象 */
可以通过已创建的对象来访问成员变量和成员方法:
referenceVariable.variableName;/* 访问类中的变量 */
referenceVariable.methodName();/* 访问类中的方法*/
扩展资料
new关键字创建对象的过程介绍
1、将类加载到方法区
JVM首先会检查这个new指令的参数能否在常量池中定位到一个类的符号引用;如果找不到就将该类加载到方法区并经过解析和初始化等步骤,计算实例化对象所需要的内存;为类的静态变量赋予正确的初始值。
2、在堆中开辟一块内存用于存储新创建的对象
将类实例化出一个新的对象,根据类加载时计算所需的内存大小;在堆中开辟一块内存,用于存储新对象的成员属性和方法区地址的引用。成员方法引用指向方法区中该对象对应的方法。
3、在栈中创建指向对象的引用
在栈中创建一个栈针,用于指向堆中创建的对象。
参考技术D new的英文意思就是"新的"的意思.在JAVA里就是创建一个新的实例,或者说一个新的对象,
一个普通类在没有实例化之前,就是new之前,它的属性,方法等等在内存中都是不存在的.只有new了以后,这个类的一些东西在内存中才会真的存在,也就是说只有new了之后,这个类才能用.本回答被提问者采纳
JAVA的“一个类只能要求有一个实例化对象”是啥意思
JAVA的“一个类只能要求有一个实例化对象”是什么意思
规定就是一个类只能有一个实例化对象在JAVA里就是创建一个新的实例,或者说一个新的对象,一个普通类在没有实例化之前,就是new之前,它的属性,方法等等在内存中都是不存在的.只有new了以后,这个类的一些东西在内存中才会真的存在,也就是说只有new了之后,这个类才能用. 参考技术A 就是单例 是设计模式的一种
class A
private A
A a;
static
a = new A();
pubic A getA()
return a;
这就是一个简单的例子 A对象只能有一个实例 不能new出起来的A对象的实例 这就是单例本回答被提问者和网友采纳 参考技术B 只能有一个实例 参考技术C 类只能有一个实例化的对象??只能有一个?只能有???
以上是关于java里的new到底是啥意思???的主要内容,如果未能解决你的问题,请参考以下文章
JAVA struts 2问题:如下,到底是啥意思?拦截器到底是啥东西?