Java自学-面向对象 方法

Java类的方法

在LOL中,一个英雄可以做很多事情,比如超神,超鬼,坑队友

能做什么在类里面就叫做方法

示例 1 : 什么是方法

比如队友残血正在逃跑,你过去把路给别人挡住了,导致他被杀掉。 这就是坑队友
每个英雄。。。。都可以
所以为Hero这个类,设计一个方法: keng

public class Hero {
    String name; //姓名

    float hp; //血量

    float armor; //护甲

    int moveSpeed; //移动速度

    //坑队友
    void keng(){
        System.out.println("坑队友!");
    }
}

示例 2 : 方法返回类型

有的方法是有返回类型的
比如方法:

float getArmor(){
  return armor;
}

这个方法是用来获取一个英雄有多少护甲的,返回类型是float
有的方法不需要返回值,这个时候就把返回类型设置为void,表示该方法不返回任何值
比如方法 "坑队友"

void keng(){
  System.out.println("坑队友!");
}
public class Hero {
    String name; //姓名

    float hp; //血量

    float armor; //护甲

    int moveSpeed; //移动速度

    //获取护甲值
    float getArmor(){
        return armor;
    }

    //坑队友
    void keng(){
        System.out.println("坑队友!");
    }

}

示例 3 : 方法的参数

英雄在一些特定情况下,可以增加移动速度
这样我们就通过addSpeed这个方法增加移动速度

void addSpeed(int speed){
  //在原来的基础上增加移动速度
  moveSpeed = moveSpeed + speed;
}

int speed 叫做方法的参数
给盖伦增加100的移动速度:

Hero garen =  new Hero();
garen.name = "盖伦";
garen.moveSpeed = 350;
garen.addSpeed(100);

.

public class Hero {
    String name; //姓名

    float hp; //血量

    float armor; //护甲

    int moveSpeed; //移动速度

    //坑队友
    void keng(){
        System.out.println("坑队友!");
    }

    //获取护甲值
    float getArmor(){
        return armor;
    }

    //增加移动速度
    void addSpeed(int speed){
        //在原来的基础上增加移动速度
        moveSpeed = moveSpeed + speed;
    }

    public static void main(String[] args) {
         Hero garen =  new Hero();
         garen.name = "盖伦";
         garen.moveSpeed = 350;
         garen.addSpeed(100);

    }

}

示例 4 : 方法的命名

方法是一个类的动作行为,所以一般都是以动词开头的,比如 keng ...
如果有多个单词,后面的每个单词的第一个字母使用大写
比如 addSpeed

public class Hero {
    String name; //姓名

    float hp; //血量

    float armor; //护甲

    int moveSpeed; //移动速度

    //坑队友
    void keng(){
        System.out.println("坑队友!");
    }

    //获取护甲值
    float getArmor(){
        return armor;
    }

    //增加移动速度
    void addSpeed(int speed){
        //在原来的基础上增加移动速度
        moveSpeed = moveSpeed + speed;
    }

}

原文地址:https://www.cnblogs.com/jeddzd/p/11371943.html

时间: 2024-10-08 14:06:33

Java自学-面向对象 方法的相关文章

Java自学-面向对象 类和对象

Java中的类和对象 引入面向对象的基本概念 假设,我们要设计一个LOL这样的游戏,使用面向对象的思想来设计,应该怎么做? 步骤 1 : 设计英雄这个类 LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女 所有这些英雄,都有一些共同的状态 比如,他们都有名字,hp,护甲,移动速度等等 这样我们就可以设计一种东西,叫做类,代表英雄这样一种事物 类: 英雄(Hero) 状态: 名字, 血量,护甲,移动速度 注: 本例用到了3种数据类型 分别是 String(字符串),float(浮点数)

Java自学-Lambda 方法引用

Lambda 方法引用 步骤 1 : 引用静态方法 首先为TestLambda添加一个静态方法: public static boolean testHero(Hero h) { return h.hp>100 && h.damage<50; } Lambda表达式: filter(heros, h->h.hp>100 && h.damage<50); 在Lambda表达式中调用这个静态方法: filter(heros, h -> Tes

Java自学-面向对象 属性

Java类的属性 一个英雄有姓名,血量,护甲等等状态 这些状态就叫做一个类的属性 步骤 1 : 属性的类型 属性的类型可以是基本类型,比如int整数,float 浮点数 也可以是类类型,比如String 字符串 public class Hero { String name; //姓名 float hp; //血量 float armor; //护甲 int moveSpeed; //移动速度 } 步骤 2 : 属性名称 属性名称一般来说,都是小写 比如name 如果有多个单词组成,后面的单词的

Java面向对象-方法的重载

Java面向对象-方法的重载 所谓方法的重载, 类里面有两个或者多个重名的方法,但是方法的参数个数.类型.顺序至少有一个不一样,这时候局构成方法重载: 上代码: 1 package com.java1234.chap03.sec03; 2 3 public class Demo01 { 4 5 int add(int a,int b){ 6 System.out.println("方法一"); 7 return a+b; 8 } 9 10 /** 11 * 方法的重载,参数个数不一样

Java面向对象-方法的值传递和引用传递

Java面向对象-方法的值传递和引用传递 方法的值传递: 值传递 在方法里改变变量的值 作用范围仅仅是方法里 对外面不影响: 上代码: 1 package com.java1234.chap03.sec03; 2 3 public class Person { 4 5 void speak(int age){ 6 System.out.println("我今年"+age+"岁了"); 7 age=24; // 作用范围是方法里 8 } 9 10 public sta

【转】JAVA自学之路

JAVA自学之路 一: 学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧. 每个培训机构都会宣传自己的好处,并不能说明大的趋势. 一些新闻文章很有可能是枪手写的,不必太过相信.国外背景的

[转载] JAVA自学之路

原文链接http://blog.csdn.net/mengxin846/article/details/2219844 虽然文章有点旧但还是有些启发的,譬如要事第一,好读书不求甚解. JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训. 决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢? 我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当 成学生

马士兵:JAVA自学之路

JAVA自学之路 一:学会选择 为了就业,不少同学参加各种各样的培训.决心做软件的,大多数人选的是java,或是.net,也有一些选择了手机.嵌入式.游戏.3G.测试等. 那么究竟应该选择什么方向呢?我的意见是,不要太过相信各种培训机构或是抢手文章的说法(包括我),当你要走向社会的时候,就不要再把自己当成学生,不要把自己的将来交给别人,学会运用自己的眼睛去观察,去了解这个世界吧. 每个培训机构都会宣传自己的好处,并不能说明大的趋势.一些新闻文章很有可能是枪手写的,不必太过相信.国外背景的教师和课

Java自学笔记(一)

假期重新拾起Java来学,先是拿来<Think in Java>看,但不幸的是,那本书真心有点生涩乏味.于是上豆瓣寻找到一本李刚老师写的<疯狂Java讲义>,这几天看了一百来页,来总结总结.网上对于此书的评论,捧的大致上说这本书相对于国外教材来说,语言贴近中国人思维,容易理解,而且内容翔实:批的说这本书太罗嗦,让人捉不到重点.实际上,就我这几天的阅读看来,这本书是非常适合我的,在细节方面的解释,以及在底层原理的揭示,在我看来,正是学习一门新语言不可或缺的东西. 对于像我这样从汇编语