java基础---this,super和integer
Posted 风之叹息
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java基础---this,super和integer相关的知识,希望对你有一定的参考价值。
1.this和super的区别
this和super都只能用在非静态方法中,不可以出现在静态方法中,如static,final
this:只能用于方法体内,相当于c中的指针,指向成员变量,this作用于子类中
private String password; public void first(){ system.out.println("this不能出现在静态方法中"); } public void second(){ this.first(); this.password; }
super:调用父类的构造函数,或者一个类的非static成员内部使用.比如super.method()
必须写在构造函数的第一行
class FatherClass { public int value; public void f(){ value = 100; system.out.println("FatherClass value = " + value); } } class ChildClass extends FatherClass{ public int value; public void f(){ super.f(); value = 200; system.out.println("ChildClass.value=" + value); system.out.println(value); system.out.println(super.value); } }
2.java中int和integer的区别
(1). int是基础数据类型,而integer是复杂数据类型,且integer是一个类
在类初始化时int变量初始为0,integer为null
(2). 初始化
int i = 1; Integer i = new Integer(1);
(3). 在ArrayList和hashmap中增加数据时,只能使用integer,
并且泛型定义时也不支持int: 如:List<Integer> list = new ArrayList<Integer>();可以 而List<int> list = new ArrayList<int>();则不行
ArrayList al=new ArrayList(); iint n = 1; Integer nI=new Integer(n); al.add(n);//不可以 al.add(nI);//可以
int只是用来进行一些加减乘除的运算or作为参数进行传递
integer可以进行对象操作
(4). 其他函数类似
float Float;double Double;string String
基本数据类型 | 包装类 |
byte | Byte |
boolean | Boolean |
short | Short |
char | Character |
int | Integer |
long | Long |
float | Float |
double | Double |
(5). int和integer类型转换
第一种为:
//int转Integer int i = 0; Integer test= new Integer(i); //Integer 转int Integer wrapperi = new Integer(0); int i = wrapperi.intValue(); //由于有autoboxing的存在,可以直接使用 int i = 0; Integer test = i; //valueof也可以进行类型转换,且效率更高,存在一个缓存机制 public static Integer valueOf(int i) int i = 0; Integer test= Integer.valueOf(i);
以上是关于java基础---this,super和integer的主要内容,如果未能解决你的问题,请参考以下文章