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);

posted on 2016-03-26 15:18  风之叹息  阅读(347)  评论(0编辑  收藏  举报

导航