java学习——面向对象

面向对象

java语言是一种以面向对象的思想来设计的编程语言。想要了解面向对象的思想,我们需要了解类和对象的概念,以及类的属性和方法。

1、JAVA中的类和对象

类,简单的说就是某一类事物的总称。举个例子:
LOL有很多英雄,比如盲僧,团战可以输,提莫必须死,盖伦,琴女。其中盲僧、提莫、盖伦、琴女等都是英雄,属于英雄这个类。注意,英雄是这个类的名称,是我们命名的。同时所有这些英雄,都有一些共同的状态。比如,他们都有名字,hp,护甲,移动速度等等
这样我们就可以设计一种东西,叫做,代表英雄这样一种事物.

英雄(Hero)
状态名字, 血量,护甲,移动速度

在这里插入图片描述

public class Hero {
	
	String name; //姓名
	
	float hp; //血量
	
	float armor; //护甲
	
	int moveSpeed; //移动速度
}

类就像一个模板,根据这样一个模板,可以创建一个个的具体的英雄,如我们可以创建盲僧、提莫、盖伦、琴女等英雄。一个个具体的英雄,就叫一个个的对象。
java中如何创建对象呢?

new Hero() #就是java中创建一个英雄对象的意思

在这里插入图片描述

public class Hero {
	
	String name; //姓名
	
	float hp; //血量
	
	float armor; //护甲
	
	int moveSpeed; //移动速度
	
	public static void main(String[] args) {
		Hero garen =  new Hero();
		garen.name = "盖伦";
		garen.hp = 616.28f;
		garen.armor = 27.536f;
		garen.moveSpeed = 350;
		
		Hero teemo =  new Hero();
		teemo.name = "提莫";
		teemo.hp = 383f;
		teemo.armor = 14f;
		teemo.moveSpeed = 330;
	}	
	
}

好的编程习惯会让代码看上去更清爽,易读,容易维护
比如类的第一个字母大写
Hero

public class Hero {
 
}

2、JAVA类的属性

我们已经创建了英雄这个类,一个英雄有姓名,血量,护甲等等状态,这些状态就叫做一个类的属性
属性的类型可以是基本类型,比如int整数,float 浮点数,也可以是类类型,比如String 字符串。
属性名称一般来说,都是小写,比如name。如果有多个单词组成,后面的单词的第一个字母大写
比如 moveSpeed,属性也是变量,所以需要满足 变量的命名规则。

ublic class Hero {
    String name; //姓名
     
    float hp; //血量
     
    float armor; //护甲
     
    int moveSpeed; //移动速度

}

3、JAVA类的方法

在LOL中,一个英雄可以做很多事情,比如超神,超鬼,坑队友,能做什么在类里面就叫做方法。
类中的方法就是类需要执行的动作
比如队友残血正在逃跑,你过去把路给别人挡住了,导致他被杀掉。 这就是坑队友。每个英雄…都可以坑。所以为Hero这个类,设计一个方法: keng。
在这里插入图片描述

public class Hero {
    String name; //姓名
     
    float hp; //血量
     
    float armor; //护甲
     
    int moveSpeed; //移动速度

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

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

float getArmor(){
  return armor;
}

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

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

英雄在一些特定情况下,可以增加移动速度。这样我们就通过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);
          
    }
     
}

方法是一个类的动作行为,所以一般都是以动词开头的,比如 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;
    }
     
    public static void main(String[] args) {
         Hero garen =  new Hero();
         garen.name = "盖伦";
         garen.moveSpeed = 350;
         garen.addSpeed(100);
          
    }
     
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值