前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小朋友学Java(5):静态方法

小朋友学Java(5):静态方法

作者头像
海天一树
发布2018-04-17 12:00:16
5370
发布2018-04-17 12:00:16
举报
文章被收录于专栏:海天一树海天一树

先编写程序:

代码语言:javascript
复制
class Demo {
    public void fun1() {
        System.out.println("Hello");
    }
    public static void fun2() {
        System.out.println("Hi");
    }
}
public class DemoTest {
    public static void main(String[] args) { 
      Demo d = new Demo();
      d.fun1();
      Demo.fun2();
      Demo d2 = new Demo();
      d2.fun2();
    }
}

运行结果:

说明: (一)在Java中,几个不同的类,比如本例中的Demo和DemoTest,可以写在同一个文件中。 同一个文件中,只能有并且必须有一个类被声明为public。 比如上面的程序,要么声明为

代码语言:javascript
复制
class Demo 
public class DemoTest

要么声明为

代码语言:javascript
复制
public class Demo
class DemoTest

当然了,如 上一节 的程序所示,若把多个类分成多个文件来写,则所有的类不需要加public修饰符

(二)文件名称一定要与被声明为public的那个类同名。比如本程序的文件只能命名为DemoTest.java,不能命名为Demo.java 当然,假如声明成

代码语言:javascript
复制
public class Demo
class DemoTest

则只能把文件命名为Demo.java,不能命名为DemoTest.java

(三)运行javac DemoTest.java后,有几个类就会成几个class文件。比如上面的程序,会生成Demo.class和DemoTest.class

(四)执行java命令时,只能执行带main方法的class文件。 所以,不管本程序是声明为

代码语言:javascript
复制
class Demo 
public class DemoTest

还是声明为

代码语言:javascript
复制
public class Demo
class DemoTest

都必须执行java DemoTest,不能执行java Demo

(五)不带static关键字修饰的方法为非静态方法,即实例方法。调用方式为对象.方法名。这样就必须先生成对象才能调用普通方法。比如 Demo d = new Demo(); d.fun1();

(六)带static关键字修饰的方法为静态方法。调用方式有两种。 1)类名.方法名 比如Demo.fun2() 这是因为,类中的静态成员会随着类的加载而加载。也就说,只要类存在(此时对象还没创建),静态方法就已经存在了。静态方法的生命周期与类的生命周期一样。所以可以使用类名.方法名 2)对象.方法名 Demo d2 = new Demo(); d2.fun2(); 这是因为,在创建对象时,静态方法早就已经存在了。所以可以使用对象.方法名。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 海天一树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档