JAVA中Static和Final

1.1.static 含义:静态的,被 static修饰的方法和属性只属于类不属于类的任何对象。

1.2.static 用法:

1.2.1.static 可以修饰【内部类】、方法和成员变量。

1.2.2.static【不可以修饰外部类】、【不可以修饰局部变量】(因为 static本身就是定义为类级别的,所以局部级别的变量是不可以用 static修饰的)。

 

2.1 final 含义:【只能赋值一次】的。

2.2.final 用法:

2.2.1.final 修饰属性,表示属性【只能赋值一次】,(1)基本类型:值不能被修改;(2)引用类型:引用不可以被修改。

2.2.2.final 修饰方法,表示方法不可以重写,但是可以被子类访问(如果方法不是 private 类型话)。

2.2.2.final 修饰类,表示类不可以被继承。

 

3.联合使用 static final

3.1.适用范围:

3.1.2.两者范围的交集,所以只能修饰:成员变量、方法、内部类。

3.2.含义:也是二者交集:

3.2.1.方法:属于类的方法且不可以被重写。

3.2.2.成员变量:属于类的变量且只能赋值一次。

3.2.3.内部类:属于外部类,且不能被继承

首先,澄清最关键的一点——匿名内部类虽然叫做匿名内部类,但是他的本质是一个匿名内部类的对象,是的,它的本质是对象(因为匿名内部类是new出来的,new出来的东西是个对象啊)!其次,匿名内部类在外部类的里面由上面可知,匿名内部类在外部类中的一个对象,其地位等同于一个成员变量更具体的讲,请看下面代码:
class Outer
{
Integer a=new Integer(123);//这是一个整型对象,一个外部类中的Integer类型的成员变量
new XXX(){/*内容我就不写了*/};//这是一个匿名内部类,本质是一个对象,它其实也是一个成员变量
}
我们来比较一下,
首先,一个类中只有三个部分:构造方法、成员方法、成员变量
上面的两个玩意肯定不是构造方法吧
也不是成员方法吧,匿名内部类不是一个方法啊,它虽然有{}但是它也不是一个方法,人家是用“;”结尾的
你现在看看
Integer a=new Integer(123);和  new XXX(){};这两个挺像吧
你再看看
new Integer(123)【注意没有前面的"Integer a ="】;和  new XXX(){};这两个是不是更像!
Integer a = new Integer(123);就是一个成员变量,匿名内部类和他类似吧
注意区别,人家Integer a=new Integer(123);是有名字的,叫做a
人家可以加static,加了静态后的东西是可以通过  类名.变量名(也叫字段 field)的形式调用
上面的Integer加静态后变成了  static Integer a = new Integer(123);
后面你就可以用 Outer.a 调用了
匿名内部类行吗?假设它可以,来,咱调用一次类名咱有,Outer,匿名内部类(对象)的名字呢?你别忘了你是匿名的,调用不了。所以,这就解释了匿名内部类为什么不能加静态
总结一下,
1,匿名内部类本质是定义在外部类中的一个对象,地位等同于外部类中的成员变量
2,它和一般的成员变量是不同的,它因为是匿名对象,没有名字,准确的讲,没有变量名
3,对于一般的成员变量,如果加了静态,就意味着可以在其他地方,不建立外部类的对象,通过       外部类名.成员变量名  的方式进行直接调用
4,匿名内部类(对象)不行,因为它没有成员变量名超级总结一下,匿名内部类不能加静态,归根到底就是因为:它是一个匿名成员变量。

android:required

android:required="true":表示需要设备具有某个功能。

如果设备没有该功能,则程序不工作

android:required="false":表示希望设备,最好具有某个功能

设备即使没有该功能,程序也应该可以正常工作

为了程序工作的更好,最好具有该功能。

如果不指定,默认为true:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值