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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 鲍霄霄 中级黑马   /  2012-7-16 16:42  /  1451 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

(1)对成员变量的操作只能放在方法中,方法可以对成员变量和方法体中自己定义的局部变量进行操作.在定义类的成员变量时可以同时赋予初值,如:
class A
{
        int a=12;
        float b=12.56f;
}
但是不可以这样做
class A
{  
        int a;
        float b;
        a=12;           //非法,只能放在方法中
        b=12.56f;    //非法
但需要注意的是,实例方法既能对类变量操作也能对实例变量操作,而类方法只能对类变量进行操作.如:

class A
{
        int a;
        static int b;
        void f(int x,int y)
        {         
                a=x; //合法.
                b=y; // 合法.
        }
        static void g(int z)
        {
                b=23; // 合法.
                a=z; //非法.
        }
}
(2)一个类中的方法可以互相调用,实例方法可以调用该类中的其它方法;类中的类方法只能调用该类的类方法,不能调用实例方法.

评分

参与人数 1技术分 +1 收起 理由
韦念欣 + 1 赞一个!

查看全部评分

6 个回复

倒序浏览
一个类中的方法可以互相调用,实例方法可以调用该类中的其它方法;类中的类方法只能调用该类的类方法,不能调用实例方法.什么是实例方法,类方法?
回复 使用道具 举报
  1. class A
  2. {
  3.         int a;
  4.     static int b;
  5.         public static void main(String[] args)
  6.         {
  7.                 A s = new A();
  8.         s.f(3,4);
  9.                 g(6);
  10.         
  11.         }
  12.         void f(int x,int y)
  13.         {         
  14.                 a=x; //合法.
  15.                 b=y; // 合法.
  16.                                 System.out.println(a+b);
  17.         }
  18.         static void g(int z)
  19.         {
  20.                 b=23; // 合法.
  21.                 a=z; //非法.无法从静态上下文中引用非静态变量a
  22.                                 System.out.println(a+b);
  23.         }
  24. }
复制代码
回复 使用道具 举报
黑马刘涛 发表于 2012-7-16 17:05
一个类中的方法可以互相调用,实例方法可以调用该类中的其它方法;类中的类方法只能调用该类的类方法,不能调 ...

http://blog.chinaunix.net/uid-78707-id-2930541.html
回复 使用道具 举报
黑马刘涛 发表于 2012-7-16 17:05
一个类中的方法可以互相调用,实例方法可以调用该类中的其它方法;类中的类方法只能调用该类的类方法,不能调 ...

她说的意思,static 修饰的方法是类方法,是类加载后就能调用的方法,无需创建对象。
不是static修饰的方法就是实例方法,就是对象创建会才能调用的方法
回复 使用道具 举报
本帖最后由 高鑫 于 2012-7-16 22:00 编辑

静态方法只能调用静态成员,你说的第2个例子只是说明了现象,却并没明白原理。
回复 使用道具 举报
黑马-王言龙 发表于 2012-7-16 21:48
她说的意思,static 修饰的方法是类方法,是类加载后就能调用的方法,无需创建对象。
不是static修饰的方 ...

哦。谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马