下面是我对引用对象的理解
//main 方法 调用下面三人类 讲的是继承和引用对象
public class Demo {
public static void main(String[] args) {
//实例化宝宝
Husban baobao = new Husban();
baobao.name = "baoabo";
//实例化Wifi 对象 引用名为mWifi
Wifi mWifi = new Wifi();
mWifi.name = "maron";
//通过marry 方法 把maron 传递给baobao
baobao.marry(mWifi);
System.out.println(baobao.name + "的老婆叫"+baobao.mWifi.name);
//实例化对象
Wifi fengjie = new Wifi();
//通过marry方法将fengjie 传递给baobao
//引用不再指向maron了
baobao.marry(fengjie);
fengjie.name = "凤姐";
System.out.println(baobao.name + "的老婆叫"+baobao.mWifi.name);
}
}
//第一个类 Person
public abstract class Person {
String name = "";
String sex = "";
float heigh = 0;
abstract void work();
}
//第二个类 Wifi 继承第一个类 person
public class Wifi extends Person{
//重写从person继承而来的work 方法
@Override
void work() {
System.out.println("洗衣 做饭 带孩子");
}
}
//第三个类 Husban 继承 第一个类 person
public class Husban extends Person{
//定义一个WiFi引用 并没有实例化 就相当定义一个变量并没有赋值
//WiFi相当于一个对像 mWifi 一个对像的引用名字
Wifi mWifi = null;
//通过marry方法把WiFi对象传递进来
//一个对象(Wifi)也是个数据类型
//这个方法也就是改变 wifi对象 的一个 引用名字
void marry(Wifi pWifi){
mWifi = pWifi;
}
//重写从person继承而来的work
@Override
void work() {
System.out.println("老公 在外上班赚钱");
}
}