JAVA中没有经过new实例化的对象可以调用该类的方法吗? 譬如 class Class中声明了C

JAVA中没有经过new实例化的对象可以调用该类的方法吗?譬如classClass中声明了Classinstance如果不new的话可以instance.method()... JAVA中没有经过new实例化的对象可以调用该类的方法吗?
譬如 class Class中声明了Class instance
如果不new的话可以instance.method();吗?
请说得详细些。
展开
 我来答
帐号已注销

2020-11-05 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.3万
采纳率:60%
帮助的人:414万
展开全部
没有实例是无法调用类中定义的非静态方法的,非静态方法必须用
对象.方法(参数)的形式来调用
静态方法是可以在不创建对象的情况下直接调用到的,格式为
类名.方法(参数)诚如楼上说的,你这个排版,晕死了,就是贴到集成环境里也得排版好久
差不多理解你的问题了,你的疑问源自对基层的不熟悉和不了解
在继承的概念里,集成至父类的方法在子类中使用时是不需要new的,
因为在这个子类使用new实例化的时候,其父类里的内容也跟着子类作为其属性的一部分实例化了
下次提出问题的时候,没句代码至少换下行,有不明白的地方欢迎继续提问。DVD[] dvd=new DVD[10];
为每个dvd的0-9元素 在栈内存分配了内存地址,并初始化为不指向任何地址。
DVD dvd1;
在栈内存分配了地址,但是没初始化指向一个堆内存,栈内存里是原来该内存上的数据,随机指向了一个堆地址,所以这种情况很可怕,调用dvd1.l编译器是不会通过的。
DVD dvd1 = null;
在栈内存分配了地址,初始化为不指向任何地址,就不会随机指向一个堆地址了。这样在调用dvd1.l,就能通过了,并且也能得到l的值了。
静态代码是使用公共内存空间的,就是说所有对象都可以直接引用,不需要创建对象再使用。要是定义一个静态方法的话也是可以调用的,不只是静态变量。dvd[0].l , dvd1.l 编译时实际都是调用DVD.l
dvd1.l编译错误,实际是eclipse的一个检测的语法吧,我猜测直接用javac编译应该没问题
要想dvd1.l编译不报错,声明的时候写个 DVD dvd1 = null;就可以了
null.l报错是因为null无法确定是哪个类,如果有个VCD类也有l这个变量,而其他几种调用方式都可以唯一确定是DVD这个类,
很明显的空指针,dvd1就null的,
DVD[] dvd=new DVD[10]; DVD中的每一个对象都是DVD这个类,这个类中有一个

1.当你new DVD[10]的时候就已经为dvd[0]创建对象了,所以dvd[0].l时是正常的。
2.因为你dvd1没有实例化。你可以直接写DVD.l
0
lionheart1988
推荐于2017-10-04 · TA获得超过6445个赞
知道大有可为答主
回答量:5772
采纳率:72%
帮助的人:2476万
展开全部
没有实例是无法调用类中定义的非静态方法的,非静态方法必须用
对象.方法(参数)的形式来调用
静态方法是可以在不创建对象的情况下直接调用到的,格式为
类名.方法(参数)
更多追问追答
追问
也就是说只声明不new的话就不算一个实例吗
追答
声明语句是不会创建类的实例的
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pc不能dota2
2015-11-14 · TA获得超过282个赞
知道小有建树答主
回答量:381
采纳率:50%
帮助的人:183万
展开全部
前面加上static关键字,类不需要实例化,用类名.方法名就可以调用。
追问
如果不是静态方法的话,没有new的实例就不可以调用方法吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式