旗下导航:搜·么
当前位置:网站首页 > JAVA教程 > 正文

java中援用范例的用法总结【JAVA教程】,java,引用类型,用法

作者:搜教程发布时间:2019-12-02分类:JAVA教程浏览:82评论:0


导读:一、class作为成员变量在定义一个类Role(游戏角色)时,代码以下:运用int范例示意角色id和生命值,运用String范例示意姓名。此时,String自...

一、class作为成员变量

在定义一个类Role(游戏角色)时,代码以下:

运用 int 范例示意角色id和生命值,运用String范例示意姓名。此时,String 自身就是援用范例,由于运用的体式格局相似常量,所以每每疏忽了它是援用范例的存在。假如我们继承雄厚这个类的定义,给Role戴设备等属性,我们将怎样编写呢?

免费视频教程引荐:java免费视频教程

定义兵器类,将增添进击才能:

定义穿着盔甲类,将增添防御才能,也就是提拔生命值:

定义角色类:

测试类:

public class Test {
    public static void main(String[] args) {
        // 建立Weapon 对象
        Weapon wp = new Weapon("屠龙刀", 999999);
        // 建立Armour 对象
        Armour ar = new Armour("麒麟甲", 10000);
        // 建立Role 对象
        Role r = new Role();

        // 设置兵器属性
        r.setWeapon(wp);

        // 设置盔甲属性
        r.setArmour(ar);

        // 攻 击
        r.attack();
        // 穿着盔甲
        r.wear();
    }
}
输出效果:
运用屠龙刀,形成999999点危险
穿上麒麟甲 ,生命值增添10000

提醒:类作为成员变量时,对它举行赋值的操纵,实际上,是赋给它该类的一个对象。

二、interface作为成员变量

接口是对要领的封装,对应游戏当中,能够看做是扩大游戏角色的妙技。所以,假如想扩大更壮大妙技,我们在Role中,能够增添接口作为成员变量,来设置差别的妙技。

定义接口:


定义角色类:

定义测试类:

public class Test {
    public static void main(String[] args) {
        // 建立游戏角色
        Role role = new Role();
        // 设置角色术数妙技
        role.setFaShuSkill(new FaShuSkill() {

            @Override
            public void faShuAttack() { System.out.println("纵横天下");
            }
        });

        // 发起术数进击
        role.faShuSkillAttack();

        // 替换妙技
        role.setFaShuSkill(new FaShuSkill() {
            @Override
            public void faShuAttack() { System.out.println("逆转天地");
        }
        });
        // 发起术数进击
        role.faShuSkillAttack();
    }
}
输出效果:
发起术数进击:纵横天下进击终了
发起术数进击:逆转天地进击终了

提醒:我们运用一个接口,作为成员变量,以便随时替换妙技,如许的设想更加天真,增强了顺序的扩大性。 接口作为成员变量时,对它举行赋值的操纵,实际上,是赋给它该接口的一个子类对象。

三、interface作为要领参数和返回值范例

当接口作为要领的参数时,须要通报什么呢?当接口作为要领的返回值范例时,须要返回什么呢?对,实在都是它的子类对象。

ArrayList 类我们并不生疏,检察API我们发明,实际上,它是 java.util.List 接口的完成类。所以,当我们瞥见 List 接口作为参数或许返回值范例时,固然能够将 ArrayList 的对象举行通报或返回。

请视察以下要领:猎取某鸠合中所有的偶数。

定义要领:

public static List<Integer> getEvenNum(List<Integer> list) {
     // 建立保留偶数的鸠合
     ArrayList<Integer> evenList = new ArrayList<>();
     // 遍历鸠合list,推断元素为偶数,就添加到evenList中
     for (int i = 0; i < list.size(); i++) { Integer integer = list.get(i);
         if (integer % 2 == 0) { evenList.add(integer);
         }
     }
     /*
     返回偶数鸠合由于getEvenNum要领的返回值范例是List,而ArrayList是List的子类, 所以evenList能够返回
     */
     return evenList;
}

挪用要领:

提醒:接口作为参数时,通报它的子类对象。接口作为返回值范例时,返回它的子类对象。

java相干文章教程引荐:java入门教程

以上就是java中援用范例的用法总结的细致内容,更多请关注ki4网别的相干文章!

标签:java引用类型用法


欢迎 发表评论: