java基础整理
- java基础内容三
- 四. this关键字
- 五.引用传递
- 六.对象比较
- 七.数据表和简单java类
java基础内容三
四. this关键字
this关键字是java中特别常见的关键字,对于新手来说可能不太容易理解。简单来说,this关键字就是表示当前对象,这个当前对象是一个相对的概念:即是哪个对象调用的this关键字,this就代表它。
this关键字一般用于两种场景:调用方法,调用参数。
- 调用方法
this.get();
表示调用当前对象的get方法(方法名称按实际类为主)
2. 调用参数
int a = this.number;
表示将当前对象的number值赋值给a。
五.引用传递
- 引用传递是java的核心,类似于c++的引用传递。即当做形式参数传递到方法的引用类型的对象并不是一份拷贝而是其本身的别名(即栈内存不同,堆内存相同),在内存中占用的还是同一块堆内存。也就是说,将一个对象传递到方法中,对形参的修改会影响到实参。
java中的引用类型有类,数组和接口。 - 需要注意的是,java中形参只是和实参指向同一块堆内存,所以对形参的修改会同时修改实参的内容。但是,如果在方法里给实参重新分配了内存(例如执行了new方法)则此时形参和实参不会再指向同一块堆内存,对形参的修改不能改变实参。
- 当String在某个引用类型的内部时,可以当做是基础数据类型来使用,因为String类型按照我们之前的分析是存在一个对象池的。
六.对象比较
在java中,如果不进行特殊操作,对象间的比较都是泛泛的比较,即地址相同才算相等。但是一般来说,我们都会通过复写某些方法,使得对象的比较变成值的比较。当某些值相同的时候,我们就说这两个对象相等。
七.数据表和简单java类
简单java类值得是里面一般只有权限声明为private的属性以及对应的getter,setter方法来实现赋值取值的java类。
假设有一个数据表:
名称 | 类型 |
name | String |
age | int |
idnumber | String |
则其对应的简单java类如下:
class People{
//权限声明为private的属性
private String name;
private int age;
private String idnumber;
//对应的getter,setter方法
public void setName(String name){
this.name = name;
}
public String getName(){
return this.name;
}
public void setAge(int age){
this.age= age;
}
public int getAge(){
return this.age;
}
public void setIdnumber(String idnumber){
this.idnumber= idnumber;
}
public String getIdnumber(){
return this.idnumber;
}
}
一般的编译器(例如eclipse等)都可以自动帮你生成getter,setter方法,所以在生成简单java类的时候我们更多的关系的是属性。