房上的猫:类和对象>万物皆对象
众所周知: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 ...
随机推荐
- POJ 1151 Wormholes spfa+反向建边+负环判断+链式前向星
Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 49962 Accepted: 18421 Descr ...
- UWP 共享文件——发送者
这一节,顾名思义,即使你要共享数据给别人,你是数据的提供者.分两步即可1.直接复制代码 protected override void OnNavigatedTo(NavigationEventArg ...
- SQLMap简单尝试
第一次完成了一个注入呢,虽然是恬不知耻的用sqlmap跑出来的 简单介绍注入时后台的数据等级,有助于后面的理解 ①可以类比成一个装着excel文件的文件夹,每一个excel文件就相当于一个数据库 ②库 ...
- 使用python处理excle表格
# -*- coding: utf-8 -*- import xlrd ########################### #通用功能,读取excel表格中所有数据 #返回一个包含所有单元格名和对 ...
- Docker笔记四:Elasticsearch实例部署
在运行或启动elasticsearch容器前,先在宿主机上执行 sysctl -w vm.max_map_count=262144: 解决" max virtual memory areas ...
- 项目实战13—企业级虚拟化Virtualization-KVM技术
项目实战系列,总架构图 http://www.cnblogs.com/along21/p/8000812.html KVM的介绍.准备工作和qemu-kvm 命令详解 1.介绍 (1)介绍 KVM:就 ...
- jquery实现ajax提交表单
一般情况下,我们提交form表单采用的是submit的方法,典型的场景如下. <form id="thisForm" method="post" acti ...
- centos6.5安装git
1.git源码地址:http://codemonkey.org.uk/projects/git-snapshots/git/
- iOS iOS10 的适配问题
其他:Xcode8 iOS10 的新特性 1.系统判断方法失效:2.隐私数据的访问问题:3.UIColor 问题4.真彩色的显示5.ATS问题6.UIStatusBar问题7.UITextField8 ...
- go实例之函数
1.可变参数 示例代码如下: package main import "fmt" // Here's a function that will take an arbitrary ...