为了账号安全,请及时绑定邮箱和手机立即绑定

关于本章不完善的一个地方

本章只说了:

1.静态方法可以直接使用 静态变量、静态方法;

               不能直接使用 非静态变量、非静态方法。

2.普通方法可以直接使用 静态变量和非静态变量。

              如何用 静态方法和非静态方法未提及。

那普通方法跟静态方法非静态方法的关系是如何的?

为什么非静态变量、方法, 静态方法不能直接用呢?普通方法比静态方法权限大?


正在回答

3 回答

是不能输出,我只是演示在非静态方法中调用静态方法和静态变量。。。。。

0 回复 有任何疑惑可以回复我~
package imooc_1;

import java.util.Arrays;

public class Demo1 {
    static String staticVarible ="静态变量";//静态变量
     String unStaticVarible="普通变量";//普通变量

    //静态方法
    public static  void StaticMethod(){
    }
    public void hello(){

    }
    //非静态方法
    public  void UnStaticMethod(){
        Demo1 de=new Demo1();
        //调用静态变量
        System.out.println(staticVarible);/*直接调用*/
        System.out.println(Demo1.staticVarible);/*通过类名调用*/
        System.out.println(de.staticVarible);/*通过对象名调用*/

        //调用非静态变量
        System.out.println(unStaticVarible);/*直接调用*/
        System.out.println(de.unStaticVarible);/*通过对象名调用*/
        //System.out.println(Demo1.unStaticVarible);/*无法通过类名调用*/

        //调用静态方法
        StaticMethod();//直接调用
        de.StaticMethod();//通过对象名调用

        //调用非静态方法
         hello();
      de.hello();
    }
}


0 回复 有任何疑惑可以回复我~
#1

慕移动302234

你这个程序没有主函数,根本不会运行的(好像主函数是程序运行的入口吧),你放到Eclipse里去运行一下就知道了,我刚刚试过了,根本没有输出的。
2017-12-13 回复 有任何疑惑可以回复我~

貌似只有主函数方法才能调用其他方法,而主函数刚好是静态方法,普通成员方法应该是不能调用其他方法的,不管是静态还是非静态,我的理解吧,不知道对不对。


2 回复 有任何疑惑可以回复我~
#1

qq_新一_0

没有吧普通方法也可以直接调用静态方法,静态方法中只能通过对象名调用普通方法
2017-12-13 回复 有任何疑惑可以回复我~
#2

qq_颜子明_0 回复 qq_新一_0

你这说法不对,请看注意第三点。静态方法是可以直接调用print(),非静态才是只能通过对象名调用。
2018-01-05 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第二季 升级版
  • 参与学习       530629    人
  • 解答问题       6091    个

课程升级!以终为始告别枯燥,在开发和重构中体会Java面向对象编程的奥妙

进入课程

关于本章不完善的一个地方

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信