目录

  • 一、类
    • 1.什么是类
    • 2.类的定义
    • 3.类的构成
  • 二、对象
    • 1.什么是对象
    • 2.对象的实现
  • 三、static

一、类

1.什么是类

天黑请闭眼!

现在是狼人杀的时间,好了,现在你拿的身份是狼人。你的技能是夜晚可以杀死一个人,你的狼队友是他和她,你们的目标是杀死所有好人获得胜利。

是不是突然感到很困惑:这和类和对象类和对象类和对象有什么关系?巧了,还真有关系,听作者细(强)细(扯)道(关)来(系)。

在狼人杀中,狼人牌属于类。狼人牌的作用仅仅是上帝用来确定哪名玩家是狼人,转到类和对象上就是狼人牌是上帝用来实例化狼人的类。于是我们得到这样一个结论:

类是对象的抽象

2.类的定义

类的定义用class关键字,下面展示的是狼人类的部分定义

public class wolf{private boolean skill;private int[] number=new int[10];private killer;{skill=true;for(int i=1;i<11;i++){number[i]=0;}killer=-1;}public wolf(int...numbers){System.out.print("你的狼队友是:");for(int num:numbers){System.out.print(num+"号 ");number[num]=1;}System.out.println();}public void kill(int n){killer=n;System.out.println("今晚你们要杀的对象是:"+n+"号");}}

我们定义了一个私有整型变量killer表示狼人每一晚要杀的对象;一个布尔型变量skill表示当前技能是否能发动;一个构造函数(后面会介绍构造函数)wolf来接收狼队友。除了以上必须的定义外,我们还定义了一个夜晚杀人的方法(必须性是相对于类的定义,而不是狼人杀)。

通过上面对狼人类的定义,我们可以发现,类中包含了狼人共有的一些基本属性(比如夜晚都能杀人,但是杀哪一个人是具体到某个狼人玩家决定的,而不是类所决定的)。类的作用就是抽象对象的属性(简单来说就是定义一个对象所具有的属性而不赋值)。

3.类的构成

  1. 关键字class关键字class关键字class(必不可少的)
    这是用于表明你写的代码块为类的定义。
  2. 访问权限控制符pulic访问权限控制符pulic访问权限控制符pulic(可以缺省的)
    这是用于控制对当前类的访问权限,public表示自身,同包类,其他类都可以访问当前类。
  3. 构造和析构函数构造和析构函数构造和析构函数(必不可少的但可以不写)
    用于初始化对象,编译器会默认加上无参构造和析构函数。
    对不起,Java没有析构。

二、对象

1.什么是对象

对象是类的实例化

我们先抛出这个结论,其实上面介绍类的时候,就提到了对象。狼人就是一个对象,注意,狼人是对象,狼人牌是类!狼人是指具体到某个玩家了。当你玩狼人杀的时候拿到狼人牌了,就代表你是狼人这个类的一个实例化对象了。

对象是类的实例化,对象需要对类中所拥有的属性(成员变量)进行赋值,对象相当于一个用户自己定义类型的变量。

2.对象的实现

这里我们定义两个wolf类的对象,分别为wolf_one和wolf_two。

wolf wolf_one=new wolf(3);
wolf wolf_two=new wolf(2);
wolf.kill(4);
wolf.kill(4);

实例化类的对象基本格式为:类名 变量名 = new 类名();
访问对象的成员时使用(.)运算符。

三、static

ps: mainmainmain方法前的staticstaticstatic有什么作用?不加上行不行?

答:static表示这个main方法是静态的,整个进程只会创建一份main方法。
main方法前必须加static,毕竟如果是非静态的main方法可以有0-∞个,鬼知道调用哪个!

狼人杀与血染钟楼的【JAVA面向对象】————类和对象相关推荐

  1. java面向对象-类和对象

    Java面向对象笔记 文章目录 Java面向对象笔记 java面向对象 类和对象 什么是类 定义 创建和使用 公式 构造方法 什么是构造方 怎么定义和使用构造方法 实列 This关键字 什么是成员变量 ...

  2. 7.0_[Java 面向对象]-类和对象

    ################################################## 目录 面向对象扫盲 万物皆对象 分类思想 对象的属性与方法/实例的特征和行为 如何在 Java 中 ...

  3. Java面向对象 类、对象、构造方法、封装

    第1章 面向对象基础 1.1 编程思想概述 1.1.1 面向过程思想概述 我们回想一下,这几天我们完成一个需求的步骤:首先是搞清楚我们要做什么,然后在分析怎么做,最后我们再代码体现.一步一步去实现,而 ...

  4. 18、Java面向对象——类和对象的关系及应用、对象数组的应用

    目录 课前先导: 一.什么是类? 二.类的创建 三.什么是对象? 四.对象的创建.赋值:方法的调用 五.定义类和对象的三种方法 六.对象数组 七.来了,你们要的对象 课前先导: 在刚开始学习java的 ...

  5. 头歌(EduCoder)实训项目-Java面向对象-类与对象

    第1关:什么是类,如何创建类 任务描述: 本关任务:创建一个类和一个对象,调用这个对象的属性和方法. 编程要求: 根据提示,在右侧编辑器Begin-End处补充代码: 声明一个Dog类,给Dog类添加 ...

  6. 头歌(educoder)第 5 章 Java 面向对象之类和对象 Java面向对象 - 类与对象

    目录 第1关:什么是类,如何创建类 第2关:构造方法 第3关:选择题(一)​编辑 第4关:This关键字 第5关:类与对象练习 第6关:static关键字 第7关:选择题(二) 第1关:什么是类,如何 ...

  7. 头歌实践教学平台:Java面向对象 - 类与对象

    第1关:什么是类,如何创建类 本关任务:创建一个类和一个对象,调用这个对象的属性和方法. package step1;public class Test {public static void mai ...

  8. Educoder - Java面向对象 - 类与对象各关卡题目总结

    第1关:什么是类,如何创建类 1.编程要求: 根据提示,在右侧编辑器Begin-End处补充代码: 声明一个Dog类,给Dog类添加三个String类型的属性,分别是name,color,variet ...

  9. Java面向对象 - 类与对象

    第1关:什么是类,如何创建类 任务描述 本关任务:创建一个类和一个对象,调用这个对象的属性和方法. 相关知识 为了完成本关任务,你需要掌握:1.什么是类和对象: 2.怎么定义类: 3.怎么创建对象并使 ...

最新文章

  1. 技术图文:进一步完善自动化交易系统 - 04
  2. Journal of Genetics and Genomics科学编辑招聘启事
  3. 没有足够的系统内存来运行此查询。
  4. 我月入过万,送着外卖写着诗
  5. 《系统集成项目管理工程师》必背100个知识点-79版本控制流程
  6. 服务器账户登录监控系统,服务器账户登录监控系统
  7. NXP(I.MX6uLL)DDR3实验——DDR3初始化、校准、超频测试
  8. ionic android 本地存储,ionic2/3本地数据存储storage
  9. C++ vector越界的问题
  10. java中char和string的区别是什么
  11. 4号线地铁站点列表_【暖房】6号线酒店式白领公寓;房山地铁站品牌公寓;4号线分散式公寓;朝阳门附近整租房源...
  12. CSAPP第八章家庭作业参考答案
  13. 网络工程师中级--下午科目
  14. 成都一名程序员跳楼,程序员眼中的成都和天府软件园
  15. emmc/ufs, sd
  16. 富格林金业:新手投资贵金属容易亏损的原因
  17. 什么是看门狗?如何操作?喂狗?工作流程?定时器,计数器,看门狗的关系。
  18. 旺店通·企业奇门与金蝶云星空对接集成查询采购入库单连通采购入库新增(采购入库单 all)
  19. Latex公式内行间距,字体大小控制
  20. 【dp - 多重背包】575: Coin Changing

热门文章

  1. 非常实用的织梦dede所有标签调用方法大全 .
  2. 基于混沌透镜成像学习的哈里斯鹰优化算法
  3. 段正淳是否是一个卑劣的人?
  4. 计算机可以辅助英语写作吗,计算机辅助下的英语写作教学_问答库
  5. GK888CN与Devexpress报表打印标签
  6. Rabbitmq集群,镜像队列和分布式原理
  7. 接口自动化测试框架--接口基础
  8. Linux jq 、vim以及LInux集群安装miniconda并配置虚拟环境(笔记)
  9. Linux C语言高级学习第八天(gcc代码优化makefile)
  10. 2009中国翻译服务产业论坛志愿者招募公告