A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© mf152 中级黑马   /  2013-8-26 17:55  /  1390 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 forward 于 2013-8-26 20:18 编辑

public void  class  Demo{
           String   s1 ;
        public  void    DD{     // 任意某方法
                    String s1;
                            .
                            .
                            .
}

  }
关于变量范围的 在语法上有问题吗?

评分

参与人数 1技术分 +1 收起 理由
黄兴旺 + 1 赞一个!

查看全部评分

8 个回复

倒序浏览
没问题吧!?
回复 使用道具 举报
声明上没问题,方法里要使用外边的s的话就需要显式的调用外部的变量,否则直接用方法里的
回复 使用道具 举报
public class Demo {
        String s1="adc";
        @Test
        public void DD(){
                String s1="123";
                System.out.println(s1);//打印出结果为123
                System.out.println(this.s1);//打印出结果为adc
        }
}
回复 使用道具 举报
方法没有加括号,外面的s1是成员变量,方法内的是局部变量,这么定义是可以的,只是在用的时候一定要注意,因为名称一样,如果想要在DD()方法中用成员变量的话就要this.s1. s1在调用他的一些方法前必须new String()或s1="...",不然就会报空指针异常。
回复 使用道具 举报
第一个s1是成员变量,第二个函数里的s1是个局部变量,局部变量只能在你所定义的方法体里使用。
回复 使用道具 举报
依旧 中级黑马 2013-8-26 18:42:16
7#
类中的变量称为成员变量,类中的方法中的变量称为局部变量,首先类都写错了,其次方法少括号,应该写成以下这种形式
public class Demo {
String s1; // 成员变量
public void DD() { // 任意某方法
  String s1; // 局部变量
}
}

评分

参与人数 1技术分 +1 收起 理由
田磊阳 + 1

查看全部评分

回复 使用道具 举报
Demo是类,类是没有返回值的, public void  class  Demo中的void是不需要的。还有DD是方法,方法名后一定要带()
回复 使用道具 举报
void不能用来修饰类的
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马