/**

 * 测试static关键字的用法

 * @author 高淇

 *

 */

public class User2 {

    int id; // id

    String name; // 账户名

    String pwd; // 密码

     

    static String company = "北京尚学堂"; // 公司名称

     

     

    public User2(int id, String name) {

        this.id = id;

        this.name = name;

    }

     

    public void login() {

        printCompany();

        System.out.println(company); 

        System.out.println("登录:" + name);

    }

     

    public static void printCompany() {

//         login();//调用非静态成员,编译就会报错

        System.out.println(company);

    }

     

    public static void main(String[] args) {

        User2 u = new User2(101, "高小七");

        User2.printCompany();

        User2.company = "北京阿里爷爷";

        User2.printCompany();

    }

}

问题1:

 public static void main(String[] args)----主函数是不是静态方法

问题2:

如果主函数是静态方法的话,根据它的特点四:在static方法中不可直接访问非static的成员。

主函数是不是不能调用非static的成员及方法;

在上边例子中主函数中User2 u = new User2(101, "高小七");如何理解,这个是非静态对象


相关课程:JAVA 全系列>第一阶段:JAVA 快速入门>面向对象详解和JVM底层内存分析>static本质_静态初始化块_继承树的追溯

©2014-2023 百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备13018289号-12    营业执照    经营许可证:京B2-20212637