Java 游戏开发:关于Java面向对象的知识( 三 )

这是上一节课的链接 第二节课

类与对象

首先什么是对象?
对象就是事物存在的实体,人类 书桌 计算机 甚至是游戏中的角色 任务 装备都可以是一个个对象。
每个人都有他的"名片",比如你的身高,学习成绩 性别等这些静态的东西一般称之为 “字段”(或者叫做属性,但是在有的地方,字段是私有的,属性是对外开放的,属性可以更改或者查看、约束字段的字面值),相对的一个人的动态,比如他会执行的那些动作我们一般称之为方法(函数)。
在这里插入图片描述而我们写的是类,是创建对象之前的定义,我们只能在使用new关键字的时候,才可以将类实例化成对象
创建类的语法:

[权限表达符] class <类名>{
	// 定义;
}

比方说我们来定义一个大雁类

public class DaYan{
	String _name = "大雁";
	int _age = 2;
	public static void fly(){
		System.out.println("这只大雁在飞");
	}
}

了解了这么多,不妨我们也来创建一个类:人 类
人 有 吃Eat喝Drink拉PaiShit撒Play 四个方法
名称 年龄 身份证 字段

public class Person{
	String _name = "人类的姓名"
	int _age = 23
	String _idCode = "510233200110022222X";
	
}

但是出于编写习惯,我们一次只能在一个类里面编写一个类,不能编写多个,如果真的需要编写多个类,请在项目内创建一个新的java文件
在这里插入图片描述
放心一个项目下面的所有文件都是可以互相使用的,只不过在使用之前,JVM会看看你的权限修饰符
一般有这么几个权限修饰符

位置privatepublicprotected默认
本类可见可见可见
同项目(包)内的类或者子类不可见可见可见
不同项目(包)的类或者子类不可见可见不可见

这些修饰符适用于方法的权限修饰符 .
提问
为什么会有私有private修饰符?
· 因为我存储的东西不希望公开,是我私有的东西,一般字段都是私有的,我们使用属性来进行对字段的RW(读写)_这句话之后你就懂了

如何将类实例化?

我们创建了类,如何将其实例化?
在这里插入图片描述
为什么实例化的代码是这样写的?

DaYan da = new DaYan();

第一个出现的DaYan是类的数据类型,这个类是我们定义的,所以他的数据类型就是我们的类名,da 是对象的变量名称, new是执行类的构造方法 在堆内存中创建对象的空间 这里比较难以理解了 说人话就是 将 类 转化成 对象。 第二个是使用创建对象时需要的类,()是使用这个类的构造函数需要的参数

然后使用
对象.属性
对象.方法([参数])
使用对象的属性与方法

构造函数

那什么是构造函数?我们之前讲的构造函数是怎么一会事?我们都知道使用new可以创建类的对象并且调用构造函数,那么什么是构造函数呢:
我们可以在类里面创建一个特殊的方法,这个方法必须是 public 而且 没有返回值且不是静态,且方法名称必须要和类名一致

public class DaYan{
    String _name;
    int _age;
    public DaYan(){
        // 创建大雁的构造方法
        System.out.print("大雁类被构造成了对象");
    }
}

程序是这么执行的:
在这里插入图片描述
带参数构造器
就是带有参数的构造器,我们要创建一个学生类,但是我想要自定义他的姓名 年龄 就可以使用构造器来执行

在这里插入图片描述

在java中,如果你没有给一个类手动的去定义一个构造函数,那么程序就会自动的创建一个无参数的构造函数,只不过这个方法里面什么也没有,一旦我们创建了,无论是有参数还是无参数,程序都不会给我们创建构造函数了,所以当我们创建了一个有参数的构造方法,记得重载一个无参数的构造方法,这样方便我们什么也不传的情况下实例化对象。

this 关键字

在之前我们使用了this关键字,其实他可以在类里面模拟实例化一个该类的对象

字段的包装

在玩游戏的时候,当角色的血量小于0的时候判断该人物时候死亡,我们何尝不可以在给血量赋值的时候顺便检测检测血量呢,这样我们就可以省去每次减去血量判断人物的代码了,直接将扣血与检测合为一体,岂不乐哉?
我们可以使用包装实现这个功能,在包装变量前,这个变量叫做字段,包装变量后,这个变量叫做属性,字段是私有的,属性是公共的
在这里插入图片描述

这就是今天的内容了,谢谢观看

下一站:Java 游戏开发:关于Java面向对象的知识( 四)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值