简介
实际的开发中,引用类型的使用非常重要,也是非常普遍的。我们可以在理解基本类型的使用方式基础上,进一步
去掌握引用类型的使用方式。基本类型可以作为成员变量、作为方法的参数、作为方法的返回值,那么当然引用类
型也是可以的。
class作为成员变量
类作为成员变量时,对它进行赋值的操作,实际上,是赋给它该类的一个对象。
interface作为成员变量
接口作为成员变量时,对它进行赋值的操作,实际上,是赋给它该接口的一个子类对象。
案例举例:
定义接口:
// 定义接口 public interface Gameskill { //定义攻击 的方法 public abstract void attack(); }
定义以接口为成员变量 的类
public class Game { // 接口作为成员变量 private Gameskill gameskill; // 攻击成员变量的传入不同,发动不同的攻击 public void faShuSkillAttack() { System.out.println("发动法术攻击:"); this.gameskill.attack(); System.out.println("攻击完毕"); } // 设置成员变量的方法 public void setGameskill(Gameskill gameskill) { this.gameskill = gameskill; } }
定义测试类
public class Test { public static void main(String[] args) { //创建游戏玩家 Game game = new Game(); //接口作为成员变量时,对它进行赋值的操作,实际上,是赋给它该接口的一个子类对象 game.setGameskill(new Gameskill() { @Override public void attack() { System.out.println("无敌是多么,多么寂寞"); } }); game.faShuSkillAttack(); } }
执行结果:
interface作为方法参数和返回值类型
- 接口作为参数时,传递它的子类对象。
- 接口作为返回值类型时,返回它的子类对象