吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1519|回复: 17
收起左侧

[已解决] 关于java类的理解问题

 关闭 [复制链接]
Chost 发表于 2020-5-28 17:20
本帖最后由 Chost 于 2020-5-28 20:39 编辑

[Java] 纯文本查看 复制代码
public class InstanceCounter {
           private static int numInstances = 0;
           protected static int getCount() {
              return numInstances;
           }
         
           private static void addInstance() {
              numInstances++;
           }
         
           InstanceCounter() {
              InstanceCounter.addInstance();
           }
         
           public static void main(String[] arguments) {
              System.out.println("Starting with " +
              InstanceCounter.getCount() + " instances");
              for (int i = 0; i < 500; ++i){
                 new InstanceCounter();
                  }
              System.out.println("Created " +
              InstanceCounter.getCount() + " instances");
           }
        }

第11、12行,InstanceCounter这个类为什么可以直接调用方法,而没有创建对象来调用
第19行new是怎么理解

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Vjmms 发表于 2020-5-28 17:26
addInstance( ) 前面有关键字 static, 这样的方法叫类方法,可以通过类名来访问。
 楼主| Chost 发表于 2020-5-28 17:36
Vjmms 发表于 2020-5-28 17:26
addInstance( ) 前面有关键字 static, 这样的方法叫类方法,可以通过类名来访问。

static定义的方法是静态方法,
也叫作类方法嘛?
能解释一下第19的new吗,也不像是创建一个对象啊
qzhing 发表于 2020-5-28 17:47
我觉得你需要找一个培训机构(比如黑马)的Java入门视频,这样就都懂了
 楼主| Chost 发表于 2020-5-28 17:53
qzhing 发表于 2020-5-28 17:47
我觉得你需要找一个培训机构(比如黑马)的Java入门视频,这样就都懂了

大部分都懂,只是有些细节有疑问,感觉看视频太浪费时间了
VAE520 发表于 2020-5-28 17:54
new创建对象会调用无参构造方法,无法构造方法又通过类名调用静态方法。
往事随风不苦涩 发表于 2020-5-28 17:57
本帖最后由 往事随风不苦涩 于 2020-5-28 17:59 编辑
Chost 发表于 2020-5-28 17:36
static定义的方法是静态方法,
也叫作类方法嘛?
能解释一下第19的new吗,也不像是创建一个对象啊

new关键字创建了一个对象,只是没有把创建的对象的地址交给其他变量。这个叫匿名对象。

匿名对象知识点
链接:https://pan.baidu.com/s/17KCPrz0KGv03BWXaOU_VSg
提取码:g9pc
不苦小和尚 发表于 2020-5-28 18:04
这里的NEW没有什么意思,调用的是默认的无参构造函数,只是掩饰静态方法使用而已
 楼主| Chost 发表于 2020-5-28 18:21
不苦小和尚 发表于 2020-5-28 18:04
这里的NEW没有什么意思,调用的是默认的无参构造函数,只是掩饰静态方法使用而已

既然类名可以调用静态方法和变量,是不是就不用创建对象,第19行这样写就没意义了?
 楼主| Chost 发表于 2020-5-28 18:23
VAE520 发表于 2020-5-28 17:54
new创建对象会调用无参构造方法,无法构造方法又通过类名调用静态方法。

第19行创建对象,但对象的名字没写出呀
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-15 17:43

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表