房上的猫:类和对象>万物皆对象
众所周知: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 ...
随机推荐
- HDU3792---Twin Prime Conjecture(树状数组)
Twin Prime Conjecture Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- PHP 字符串转 bigint 型md5
1 2 3 4 5 6 7 8 /** * 字符串转bigint * @return bigint(string) */ public function md5( ...
- Python 开发与接口测试学习笔记
这是我跟着虫师学习中积累下来的学习笔记,写得比较简单,适合想学习Python开发与接口测试的初学者学习. 一.开发投票系统 1.参考官网文档,创建投票系统. https://docs.djangopr ...
- 遍历输出tuple元素的简洁方式(C++11)
//遍历输出tuple元素的简洁方式(C++11) //Win32Con17_VS2017_01.cpp #include <iostream> #include <tuple> ...
- 微信小程序去除button按钮的边框
小程序开发记录 小程序开发中, 有时候我们希望button不要有边框, 需要使用button::after来实现, 具体如下: .operations button::after{border:0 n ...
- webStorm和Sublime使用列编辑命令
webStorm可以像Sublime一样使用列编辑,只是区别在于webStorm只可以编辑连续列表. 按住alt键鼠标选择一列,然后输入文字就会编辑多行,这个功能很赞,比较实用(按住ALT键选中之后, ...
- Android之通过网络播放一首简单的音乐
首先,附上程序执行后的效果.例如以下图所看到的: 一.部署一个web项目到tomcatserver上: 1.这个小程序是结合网络来播放一首音乐的,首先,把我们搞好的一个web项目放置在tomcat安装 ...
- WIN7下安装SVNserver端及client搭建协作环境
一.客户场景: 客户现场须要在虚拟机上封闭开发,所以须要搭建一个SVN协作开发环境.客户提供了一台全新的裸机安装的操作系统是WIN7旗舰版64位. 二.SVNserver搭建 1. SVNserver ...
- Mybatis 入门之resultMap与resultType解说实例
resultMap:适合使用返回值是自己定义实体类的情况 resultType:适合使用返回值得数据类型是非自己定义的,即jdk的提供的类型 resultMap : type:映射实体类的数据类型 i ...
- Linux常用目录结构
此文引用自51CTO博客,博主snail_hf,原文地址<Linux系统目录详解(全而易懂)> 目录结构 / 根目录,处于Linux系统树形结构的最顶端,它是Linux文件系统的入口,所有 ...