java里面为啥总要new,不new为啥不行?scanner scancer=new scan
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java里面为啥总要new,不new为啥不行?scanner scancer=new scan相关的知识,希望对你有一定的参考价值。
java里面为什么总要new,不new为什么不行?scanner scancer=new scaner(system.in)
JAVA语言是面向对象的,所以任何方法的调用都需要一个对象来执行,而new这个动作就是给类声明一个对象,这样才能通过对象来调用类里面的方法 。上面的那句scanner是指向new出来的对象的地址,这样就可以调用对象来执行一些方法。 参考技术A 你不用new关键字创建也是可以的,只要对反射技术有些了解就知道,创建实例对象也不是非要new关键字。我举个例子:如原例子:Scanner input = new Scanner(System.in);
新例子:Scanner input = Scanner.class.getConstructor(InputStream.class).newInstance(System.in); 参考技术B new 是类的实例化, 就是新建一个类的对象 这样才能通过对象来调用类里面的方法 。
比如scanner.next(); 参考技术C 首先讲 scanner 是sun公司 为我们提供的工具类, 就样就不需要我们自己些。用的时候 先为该类创建对象 然后使用它的方法和属性。 而new关键字就是 实例化对象用的。这个约定俗称。 参考技术D 就打个比方 为什么玩Java一定要装JDK?
我不装行吗?
要使用scanner类你就必须通过new关键字来实例化对象 就上面我说的你要玩java就必须装JDK
没有为什么
new java.util.Date() 得到的时间与系统时间不一样,为啥?
我用 这个 函数得到的时间是:
Sat Oct 20 12:05:56 GMT 2007
而,我系统的时间 却是 :
2007年10月20日 20:05
相差了8小时,为什么啊?? 我系统时区设置什么都是正确的阿!!! ??
所以你可以用Locale.SIMPLIFIED_CHINESE来指定你当前的时区(这里的是中国时区).
用new SimpleDateFormat("yyyy-MM-dd",Locale.SIMPLIFIED_CHINESE)来设置你显示的效果和时区最好. 参考技术C 同意楼上的,
并修正一下是
GMT 格林尼治标准时间
另外,一看这你就明白了
http://then9.com/java/then9000059.htm 参考技术D 你的这个问题系 系统 JVM的事,可以设置下时区,通过以下的语句:
import java.util.*;
TimeZone tz = TimeZone.getTimeZone("ETC/GMT-8");
TimeZone.setDefault(tz);
//显示Java能识别的系统中所有正确的时区
/**
String[] ids = TimeZone.getAvailableIDs();
for(int i = 0; i < ids.length; i++)
System.out.println(ids[i].toString());
*/本回答被提问者采纳
以上是关于java里面为啥总要new,不new为啥不行?scanner scancer=new scan的主要内容,如果未能解决你的问题,请参考以下文章
java中用HSSFWorkBook创建的时候为啥这么创建不行啊
为啥在java中使用了static修饰词就不用NEW 对象了?(初学者求助)
字符串是 Java 中的对象,那么我们为啥不使用 'new' 来创建它们呢?