本文最后更新于 259 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com
引用类型使用小结
实际的开发中,引用类型的使用非常重要,也是非常普遍的。我们可以在理解基本类型的使用方式基础上,进一步去掌握引用类型的使用方式。基本类型可以作为成员变量、作为方法的参数、作为方法的返回值,那么当然引用类型也是可以的。
1. 引用类型作为方法参数和返回值
public class Person{
public void eat(){
System.out.println("吃饭");
}
}
public class Test{
public static void main(String[] args){
method(new Person());
Person p = createPerson();
}
//引用类型作为方法参数
pubic static void method(Person p){
p.eat();
}
//引用类型作为返回值
public static Person createPerson(){
return new Person();
}
}
2. 引用类型作为成员变量
我们每个人(Person)都有一个身份证(IDCard) , 为了表示这种关系 , 就需要在Person中定义一个IDCard的成员变量。定义Person类时,代码如下:
class Person {
String name;//姓名
int age;//年龄
}
使用使用String
类型表示姓名 , int
类型表示年龄。其实,String
本身就是引用类型,我们往往忽略了它是引用类型。如果我们继续丰富这个类的定义,给Person
增加身份证号 , 身份证签发机关等属性,我们将如何编写呢?这时候就需要编写一个IDCard类了
定义IDCard(身份证)类,添加身份证号 , 签发地等属性:
class IDCard {
String idNum;//身份证号
String authority;//签发地
//getter和setter方法
//...
//toString方法
//...
}
修改Person类:
public class Person {
String name;//姓名
int age;//年龄
IDCard idCard;//表示自己的身份证信息
//name和age的getter、setter方法
//...
public IDCard getIdCard() {
return idCard;
}
public void setIdCard(IDCard idCard) {
this.idCard = idCard;
}
@Override
public String toString() {
return "Person{" +
"name='" + name + '\'' +
", age=" + age +
", idCard=" + idCard +
'}';
}
}
测试类:
public class TestDemo {
public static void main(String[] args) {
//创建IDCard对象
IDCard idCard = new IDCard();
//设置身份证号
idCard.setIdNum("110113201606066666");
//设置签发地
idCard.setAuthority("北京市公安局");
//创建Person对象
Person p = new Person();
//设置姓名
p.setName("张三");
//设置年龄
p.setAge(2);
//设置身份证信息
p.setIdCard(idCard);
//打印张三的信息
System.out.println(p);
}
}
输出结果:
Person{name='张三', age=2, idCard=IDCard{idNum='110113201606066666', authority='北京市公安局'}}
类作为成员变量时,对它进行赋值的操作,实际上,是赋给它该类的一个对象。同理 , 接口也是如此 。