java基础冷知识

<一> 全局变量和局部变量的区别

      1.位置不一样

          全局变量存在类下面,局部变量存在方法里面。

            全局变量的生命周期和对象有关,局部变量的生命周期和方法有关。

      2.修饰符

            全局变量是可以加修饰符的。局部变量不可以。

      3.默认值问题

             全局变量只声明是可以直接使用的,有默认值,局部变量不可以。

<二> 为什么在静态的方法里面不能使用非静态的成员

     1. 因为静态的方法是随着类的加载而进入内存的,非静态的成员是创建对象之后进入存的,

     2. 当静态的方法在内存的时候,非静态的成员还不存在,所以没办法使用。

<三> 静态变量和非静态变量的区别

     1.静态的变量时随着类的加载而进入内存的,非静态的方法是随着对象的创建进入内存的。

     2.静态的方法里面只能使用静态的变量。

     3.静态的变量多了一种调用方式,可以通过类名.属性名字直接调用。

<四> 封装:

     将实现的细节因隐藏起来,提供共有的方法访问。

     属性的封装的步骤:

          1.将属性都定义成私有的,

          2.提供setter和getter方法

          3.在方法中添加判断语句   

<五> 访问修饰符的权限

      1.public 公共访问权限  所有的类都能访问

      2.protected 子类访问权限   在同一个包 子类都可以访问

      3.缺省的  包访问权限  在同一包可以访问

      4.private 类访问权限  只有本类能够访问

<六> 包:

      当前类在哪一个包的下面: package 包名字

      当前类调用其它包下的类:import 包的名字       

<七> 继承:

     当子类继承父类,子类能够使用父类可见所有的属性和方法

        1.父类私有的属性和方法是不能访问的。

        2.不同包下,父类缺省的属性和方法是不能访问的。    

<八> 子类创建对象的顺序:

      1.先调用子类的构造器

      2.然后调用父类的构造器

      3.父类信息初始化(有的话)

      4.父类的对象创建完成

      5.子类信息初始化(有的话)

      6.最后子类的对象创建完成。

<九> this

      当前调用的方法所在的类的对象的引用

      一般情况下都可以省略。

      特别:

         1.当局部变量和全局变量名字一样的时候,使用全局变量的时候this不能省略。

         2.this不能使用在静态的方法里面。

     this只能使用的在非静态的方法中(没有static修饰的方法中)

        如    int a = 10;

              public void show(){

                     int a = 100;

                     System.out.println("a=" +a);

                     System.out.println("全局变量a="+this.a);

              } //主函数省略

           //   a=100  全局变量a=10

<十> super

      当前调用的方法所在的类的父类对象的引用

           一般情况下都是省略的。

           特别:

           1.当子类的属性和方法与父类的属性和方法的名字是一样的时候,使用父类的属性方法super不能省略。

           2.super不能使用在静态的方法里面。

           3.当重新指定要调用的构造器的时候super(参数列表)不能省。

 

<十一> 成员内部类

        位置类的成员位置。

        特点:

        1.可用private protected修饰的。

        2.可以直接访问类的属性和方法。

        3.其它外部类访问内部类

           内部类  别名 = new 外部类.new 内部类();

 <十二> 局部内部类:

        位置:定义在方法里面。

        特点:

        1.不能用访问修饰符或者static来修饰。

        2.生命周期和方法有关,只能在本方法里面使用。

        3.当局部内部类要使用所在的方法的局部变量或者参数的时候,这些变量要定义成final类型的。

<十三>GC出现的原因:

       1.查询的数据库没有关闭游标;

       2.构造Adapter时,没有使用缓存ConvertView

       3.没有及时释放对象的引用

       4.Bitmap对象不再使用时没有及时调用recycle()释放内存

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值