Ⅰ 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的值就是一个内存地址,或者叫引用地址。
通过这个地址,就可以准确的找到刚才创建出来的对象,以后我们要使用这个对象做一些事情,调用此对象的方法什么的,都用过这个引用。
(1)javanew构造扩展阅读:
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的new构造函数,后面跟一大堆set函数,是什么语法
你好!
不是什么特别的语法。
Notification
notify
=
new
Notification.Builder(this);
这个是创建一个Notification
类的实例
//
设置打开该通知,该通知自动消失
setAutoCancel(true)
//
设置显示在状态栏的通知提示信息
.setTicker("有新消息")
上面的两个是设置一些属性的。
如果你在当前类中没有看到这个方法,那这个方法就是在父类中。
仅代表个人观点,不喜勿喷,谢谢。
Ⅲ java构造方法new的时候必须调用吗
构造方法 一个类被实例化的同时就会运行相应的构造方法,也就是说你创建对象的时候即使不写构造方法,也会有一个默认的空构造方法,你想在new一个对象的时候而调用其他方法,那是不可能实现的。new一个方法也就是实例化一个对象。你想访问这个对象的一个方法而不是构造方法的话,将你需要访问的方法设为static,然后直接用类名.方法名就可以访问。作用域 当前类 同一package 子孙类 其他packagepublic √ √ √ √protected √ √ √ ×friendly √ √ × ×private √ × × ×应该能帮上你
Ⅳ 在java中new的用途是什么
java中new关键字的作用就是在你声明了一个对象后,给对象分配相应内存。强类型,较高效。能调用任何public构造。
创建对象,实例化对象;
实例化对象,赋予对象空间,即堆内存地址;
调用构造函数;
比如当我们创建一个对象:Studentstu= new Student();在这里的new具体作用为:
首先要明确stu是父类的一个引用,没有实际在堆中分配空间。
其次new Student()的作用了:new是在堆中为对象stu申请了一块空间。其中new也实际上是在调用了父类的构造方法。
Ⅳ JAVA构造方法
构造方法的方法名必须与类名一样。
构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
构造方法不能作用是完成对象的初始化工作,他能够把定义对象时的参数传递给对象的域。
构造方法不能由编程人员调用,而要系统调用。
构造方法可以重载,以参数的个数,类型,或排序顺序区分。
例子:
1;单个构造函数方法;’
Ⅵ Java new 一个构造方法时
构造方法是类中定义的,当你类中没有定义构造方法的时候,类中会有一个默认的无参数的构造方法,你new对象是利用类的无参或者有参构造方法来new出来的。
Ⅶ Java中关于new对象时构造函数的作用问题
你都说了给 对象默认初始化值,而这个值肯定是在无参构造函数中进行操作的。在对属性进行初始化的时候,只有有参构造才能对对象中的属性进行显示初始化。
Ⅷ JAVA中new对象的时候与构造方法是否同时运行.
new一个对象的时候,根据所填参数自动匹配相对应的构造方法(同一个类的改造方法可以有多个)。
你这个问题其实很容易验证吧?构造方法里用System.out.println();在后台输出个语句不就验证构造方法是否运行了?
方法比答案重要。。。
Ⅸ java中创建对象时操作符new和后面的构造方法是什么关系
比如A是一个类,那么A
b=new
A();就是说,将A实例化为了对象b了。然后b就可以调用A类的方法了。
Ⅹ java 直接new 构造方法()什么意思
这是创建一个类对象啊
类的构造方法不写,JVM也会帮你自动创建一个的
要使用一个类对象,需要对这个类使用new关键字来创建一个新的对象
MyException e = new MyException();
定义一个MyException的对象 e 变量,之后就是使用new关键字来创建一个MyException对象,并把对象赋予变量 e, 之后 变量e就是有实际对象的变量了,就可以使用e来调用对象中的各种方法和属性了。
直接new 就是匿名创建对象,也就是所谓的匿名对象,既没有名称的对象。