房上的猫:类和对象>万物皆对象
众所周知:java是一门面向对象的编程语言
本章将介绍基础的类和对象
一.对象
对象是用来描述客观事物的一个实体,由一组属性和方法构成
二.封装
封装就是把一个事物包装起来,并尽可能隐藏内部细节
三.类
类定义了对象将会拥有的特征(属性)和行为(方法)
类的属性:
对象拥有的静态特征在类中表示时称为类的属性
类的方法:
对象执行的操作称为类的方法
四.类和对象的关系

类和对象的关系是抽象和具体的关系
类是对象的类型,对象是类的实例
对象的属性和方法被共同封装在类中,相辅相成,不可分割
五.java的类模板
1.语法:
pubilc class <类名>{
//定义属性部分
属性1的类型 属性1;
属性2的类型 属性2;
......
属性n的类型 属性n;
//定义方法部分
方法1;
方法2;
......
方法n;
}
解析:
在java中创建一个类,需要使用一个class,一个类名和一对大括号
(1)class是创建类的关键字
(2)class前的public,表示公有的意思
(3)编写程序时,要注意编码规范,不要漏写public
(4)在class关键字的后面要给定义的类命名,然后写上一对大括号,类的主体部分就写在{}中
2.类的命名规则:
(1)不能使用java中的关键字
(2)不能包含任何嵌入的空格或点号".",以及除下划线"_",字符"$"外的特殊字符
(3)不能以数字开头
3.编写类的属性:
通过在类的主体中定义变量来描述所具有的静态特征(属性),这些变量称为类的成员变量
4.编写类的方法:
通过在类中定义方法来描述类所具有的行为,这些方法称为类的成员方法
六.创建和使用对象
类的作用就是创建对象,称为类的实例化过程
一个实例也就是一个对象,一个类可以生成多个对象
1.创建对象语法:
类名 对象名 = new 类名(); //在创建类的对象时,需要使用java的new关键字
2.引用对象语法:
对象名.属性 //引用对象的属性 对象名.方法名(); //引用对象的方法 //要引用对象的属性和方法,需要使用"."操作符。其中,对象名在原点的左边,属性或方法的名称在原点的右边
七.面向对象的优点
1.与人类的思维习惯一致
2.信息隐藏,提高了程序的可维护性和安全性
3.提高了程序的可重用性
八.使用类和对象的步骤
1.定义类:使用关键字class
2.创建类的对象:使用关键字new
3.使用类的属性和方法:使用"."操作符
九.Java数据类型的默认值
|
类型 |
默认值 |
| int | 0 |
| double | 0.0 |
| char | '\u0000' |
| boolean | false |
| String | null |
十.示例:
import java.util.Scanner;
public class Objects_010 {
//定共有的成员属性
String name;
int hp;
//英雄系统
public void yx() {
System.out.println("我是英雄,我的基本信息如下:");
System.out.println("姓名:" + name + "\t生命值:" + hp);
}
//怪物系统(怪物类型设为独有的lx属性(有参方法))
public void gw(String lx){
System.out.println("我是怪物,我的基本信息如下:");
System.out.println("姓名:" + name + "\t生命值:" + hp+"\t类型:"+lx);
}
//武器系统(武器攻击力类型设为独有的gjl属性(有参方法))
public void wq(String gjl){
Scanner bdqn = new Scanner(System.in);
gjl =bdqn.next();
System.out.println("我是武器,我的基本信息如下:");
System.out.println("武器名:" + name + "\t攻击力:"+gjl) ;
}
public static void main(String[] args) {
Objects_010 a = new Objects_010();
//使用new关键字创建类的对象
Scanner bdqn = new Scanner(System.in);
//创建扫描仪
System.out.println("请输入英雄的基本信息:");
System.out.println("姓名:");
a.name=bdqn.next(); //使用“.”操作符点出属性
System.out.println("生命值:");
a.hp=bdqn.nextInt(); //使用“.”操作符点出属性
a.yx(); //为英雄信息赋值并输出
System.out.println("\n请输入怪物的基本信息:");
System.out.println("怪物名:");
a.name=bdqn.next(); //使用“.”操作符点出属性
System.out.println("生命值:");
a.hp=bdqn.nextInt(); //使用“.”操作符点出属性
String lx = bdqn.next();
//为怪物系统中有参方法中的局部参数提前定一个变量在引用方法时使用
System.out.println("类型:");
a.gw(lx);
//为怪物信息赋值并输出,括号内是引用的前面的变量值给怪物系统中的参数
System.out.println("\n请输入武器的基本信息:");
System.out.println("武器名:");
a.name=bdqn.next(); //使用“.”操作符点出属性
System.out.println("攻击力:");
String gjl = bdqn.next();
//为武器系统中有参方法中的局部参数提前定一个变量在引用方法时使用
a.wq(gjl);
//为武器信息赋值并输出,括号内是引用的前面的变量值给武器系统中的参数
}
}
房上的猫:类和对象>万物皆对象的更多相关文章
- 20190814 On Java8 第三章 万物皆对象
第三章 万物皆对象 对象创建 数据存储 有5个不同的地方可以存储数据: 寄存器 (Registers) 最快的存储区域,位于CPU内部 .无法直接控制. 栈内存(Stack) 存在于常规内存 RAM ...
- Javascript万物皆对象?
在javascript的世界里,有这么一句话,万物皆对象. 但是这个对象,应该怎么理解呢? exm........??,难道值类型也是对象?!! 当然,不是. 准确地讲是对于“引用类型”而言. 那,在 ...
- 万物皆对象的JavaScript
写在前面: 经过前段时间对于H5语言的学习,开始慢慢适应现在的生活节奏和代码语言.从一开始的毫无头绪到现在可以大概地写出部分的网站静态页面,用了两个周的时间.作为一个之前从未接触过计算机语言的初学者来 ...
- 又一次认识java(一) ---- 万物皆对象
假设你现实中没有对象.至少你在java世界里会有茫茫多的对象,听起来是不是非常激动呢? 对象,引用,类与现实世界 现实世界里有许很多多的生物,非生物,跑的跳的飞的,过去的如今的未来的,令人眼花缭乱.我 ...
- 大话JS面向对象之开篇万物皆对象------(ATM取款机引发的深思)
一,总体概要 OO(面向对象)概念的提出是软件开发工程发展的一次革命,多年来我们借助它使得很多大型应用程序得以顺利实现.如果您还没有掌握并使用OO进行程序设计和开发,那么您无疑还停留在软件开发的石器时 ...
- javascript是脚本语言?javascript万物皆对象?
呵呵哒!带你见识下js面对对象的魅力 是的是的,退后,朕要开始装逼了- 这是什么鸟东西?是的是的,装逼开始,2016年度最佳JS编译器,ES6标准出来后,小伙伴们对新特性摩拳擦掌,奈何浏览器支持把我们 ...
- java万物皆对象
我们以Dom对象的形式 可以CRUD xml文件或xml字串(经流把xml文件读出转成字串) 我们以JsonObject对象的形式 可以CRUD json字串 还有正则表达式.ORM都是.
- 什么是对象:EVERYTHING IS OBJECT(万物皆对象)
所有的事物都有两个方面: 有什么(属性):用来描述对象. 能够做什么(方法):告诉外界对象有那些功能. 后者以前者为基础. 大的对象的属性也可以是一个对象.
- Python赋值原理:Python无变量,万物皆对象
有几个和以前的常见语言,比如c语言不同 改变变量数据不覆盖原来的 name = '苍老师' print(id(name)) name = '志玲' print(id(name)) 运行结果 73955 ...
随机推荐
- 《RabbitMQ Tutorial》译文 第 3 章 发布和订阅
原文来自 RabbitMQ 英文官网的教程(3.Publish and Subscribe),其示例代码采用了 .NET C# 语言. In the previous tutorial we crea ...
- NOIP2017提高组初赛解析
首发于订阅号 嗨编程,这是一个以嗨为目标的编程订阅号(仅仅是目标而已),扫码可关注,不定期更. 解析中引用了一张关于排序的总结课件图片,来源网络,如果侵权,请联系本人删除(没钱付版权费)
- Android HandlerThread 源码分析
HandlerThread 简介: 我们知道Thread线程是一次性消费品,当Thread线程执行完一个耗时的任务之后,线程就会被自动销毁了.如果此时我又有一 个耗时任务需要执行,我们不得不重新创建线 ...
- C# Winform 实现Ajax效果自定义按钮
技术看点 WinForm自定义控件的使用 自定义控件gif动画的播放 需求及效果 又来一波 C# GDI自定义控件show .这个控件已经使用几年了,最近找出来重构一下.原来是没有边框的,那么导致导航 ...
- 异步编程Async/await关键字
异步编程Async \await 关键字在各编程语言中的发展(出现)纪实. 时间 语言版本 2012.08.15 C#5.0(VS2012) 2015.09.13 Python 3.5 2016.03 ...
- 大数据学习系列之六 ----- Hadoop+Spark环境搭建
引言 在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解 : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合 ...
- spring的aop详解
一.aop术语 1.连接点joinpoint: 程序执行的某个特定位置:如类开始初始化之前.类初始化之后.类某个方法调用前.调用后等.Spring仅支持方法的连接点,即仅能在方法调用前.方法调用后以及 ...
- 本地yum仓库搭建及rpm软件包定制
环境内核信息: [root@zabbix-01 ~]# uname -a Linux lodboyedu-01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:2 ...
- 大数据:Hadoop入门
大数据:Hadoop入门 一:什么是大数据 什么是大数据: (1.)大数据是指在一定时间内无法用常规软件对其内容进行抓取,管理和处理的数据集合,简而言之就是数据量非常大,大到无法用常规工具进行处理,如 ...
- js通用方法检測浏览器是否已安装指定插件(IE与非IE通用)
/* * 检測是否已安装指定插件 * * pluginName 插件名称 */ function checkPlugins(pluginName) { var np = navigator.plugi ...