Java内部类和类变量、实例变量的理解

rel="File-List" href="file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_filelist.xml" /> rel="Edit-Time-Data" href="file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_editdata.mso" /> rel="themeData" href="file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_themedata.thmx" /> rel="colorSchemeMapping" href="file:///C:/Users/ADMINI~1/AppData/Local/Temp/msohtmlclip1/01/clip_colorschememapping.xml" />

我今天在敲一个程序的时候犯了一个错误,先特意把次错误整理下来,希望大家引以为戒……

Java内部类

局部内部类

局部内部类的知识:局部内部类不能有访问控制符,它的作用于只是在声明它的方法块中。

匿名内部类

如果只创建内部类的一个对象,并且仅此一次,就可以省略它的类名。这样的内部类称作匿名内部类(naonymous inner class

匿名内部类定义的一般形式为:

                   new 父类名(构造参数) {

         内部类的属性和方法定义

}

 

             new 接口名() {

         内部类的属性和方法定义

}

静态内部类

1、  在内部类中使用静态方法

2、  发内部类定义在接口中

3、  在一个静态方法中构造内部类对象

类变量和实例变量【转】

可以通过两种方法在类中存储数据──作为实例变量和类变量.实例变 量是特定于对象的,如果你有两个对象(即一个类的两个实例),每一个对象中的实例变量独立于另一个对象中的实例变量的;另一方面,两个对象的类变量均指向 相同的数据,并因此面保存相同的值,换句话说,类变量被类中的所有对象共享,类变量在声明时比实例变量多一个static.
class Data{
                 public int intdata=0;//intdata
在这儿是实例变量
}
public class Test{
        public static void main(String[] args){
        Data a,b;
        a=new Data ();
        b=new Data ();
        a.intdata=1;
        System.out.println("b.indata="+b.intdata);
        }
}
行结果:
b.intdata=0
结果分析:
可以看出,a.intdata的值虽然变了,但并没有影响b.intdata.但是如 果在data类中声明intdata,在其前面加上static就变成类变量了(:public static int intdata=0;),则此时运行结果会变为:b.intdata=1
这次a.intdata值的改变可把b.intdata影响了,事实上, 对象ab的类变量均指向相同的数据,所有值一样,这就是类变量的作用.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值