private static static变量前可以有private修饰,表示这个变量可以在类的静态代码块中,或者类的其他静态成员方法中使用(当然也可以在非静态成员方法中使用–废话),但是不能在其他类中通过类名来直接引用,这一点很重要。实际上你需要搞明白, 取二者的共同体,所以只能修饰成员变量、方法、内部类. private是访问权限限定,static表示不要实例化就可以使用,这样就容易理解多了。 被Static final修饰意义分别如下: 1、成员变量:属于类的变量且只能赋值一次。 2、方法:属于类的方法且不可以被重写。 3、内部类:属于外部类,且不能被继承

static 与finalstatic final

supersuper详解

@Override 是伪代码,表示重写(当然不写也可以),不过写上有如下好处: 1、可以当注释用,方便阅读; 2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。

举例:在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性。 @Override public void onCreate(Bundle savedInstanceState)

{…….} 这种写法是正确的,如果你写成:

@Override public void oncreate(Bundle savedInstanceState) {…….} 编译器会报如下错误:The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method,以确保你正确重写onCreate方法(因为oncreate应该为onCreate)。而如果你不加@Override,则编译器将不会检测出错误,而是会认为你为子类定义了一个新方法:oncreate

int与integerint integer

equls与==equls == == 的作用:   基本类型:比较值是否相等   引用类型:比较内存地址值是否相等

equals 的作用:   引用类型:默认情况下,比较内存地址值是否相等。可以按照需求逻辑,重写对象的equals方法。string是引用类型, 且重写了equals方法

Java中String直接赋字符串和new String的区别

Java中String直接赋字符串和new String的区别-

java成员变量和成员函数_jvm


int integer new integer integer.valueof

java成员变量和成员函数_java_02

java成员变量和成员函数_java成员变量和成员函数_03

参考链接参考链接2 先做一些总结,询问了些经验比较多的师傅,在这里表示感谢,然后自己总结下,今天的收获分享给大家:

  1. int 和Integer在进行比较的时候,Integer会进行拆箱,转为int值与int进行比较。
  2. Integer与Integer比较的时候,由于直接赋值的时候会进行自动的装箱,那么这里就需要注意两个问题,一个是-128<= x<=127的整数,将会直接缓存在IntegerCache中,那么当赋值在这个区间的时候,不会创建新的Integer对象,而是从缓存中获取已经创建好的Integer对象。二:当大于这个范围的时候,直接new Integer来创建Integer对象。
  3. new Integer(1) 和Integer a = 1不同,前者会创建对象,存储在堆中,而后者因为在-128到127的范围内,不会创建新的对象,而是从IntegerCache中获取的。那么Integer a = 128, 大于该范围的话才会直接通过new Integer(128)创建对象,进行装箱。