入门Java编程的知识点—>面向对象(day07)

  • 重点掌握什么是面向对象?
  • 重点掌握面向对象封装的意义?
  • 重点掌握类的封装,创建对象,访问对象?

面向对象

OO:(Object Oriented)面向对象

面向对象是一种编程思想,遵循面向对象设计原则可以写出高质量代码,

高质量代码:代码复用性要好,扩展性要好 ,维护性要好,可读性要好,健壮性要好,效率要好,移植性好。

对象和类

类:抽象不具体的,通常表示一类事物的统称. 在程序中表示模板。

对象:具体的,真是存在的. 在程序中表示在内存中的对象。

软件中对象是指具体类别的个体,类别是根据对象归纳出来的模型。程序中类模板的目的就是为了重复创建更多的对象。

上述角色中,都属于游戏中具体的角色对象,每个角色对象都有哪些数据呢?

角色1:String name = "雷电将军"; char Gender = '女'; int Level=90; String weapon ="稻光" ;int weaponLevel =90;

角色2:String name = "霄宫"; char Gender = '女'; int Level=90; String weapon ="弦振" ;int weaponLevel =90;

角色3:String name = "宫心海"; char Gender = '女'; int Level=90; String weapon ="*月华" ;int weaponLevel =90;

角色4:String name , char Gender , int Level ,String weapon , int weaponLevel

角色5:String name , char Gender , int Level ,String weapon , int weaponLevel

....

角色100:....

会发现存在大量冗余重复的数据,我们可以通过类来解决

面向对象的三大特征:封装,继承,多态
封装

封装的意义:当需要产生多个对象时,可以通过类模板,批量产生对象。

  1. 如何创建类模板
  • 类中放当前类的所有对象共有的数据/属性 --------------- 变量
  • 类中放当前类的所有对象共有的行为/方法 --------------- 方法
class Person{ //人类//共有的数据String name;	char gender;	int age;//共有的行为void sleep(){ }	void eat(){ }void play(){   }    }
------------------------
class Car{ //车类//共有的数据String color;//颜色double price;//价格String type;//型号//共有的行为void run(){ } 运动void back(){ } 后退void stop(){ } 刹车}
------------------------/*** 学生类模板:* 所有学生对象共有的数据,共有的行为。* 注意:模板类不需要运行,所以不需要构建main功能!*/
public class Student {//共有的属性(数据)      全局变量:在类的里面声明的变量,作用范围在整个类中String name;//姓名int age;//年龄int stuID;//学号//共有的行为void study() {       //局部变量:在方法结构中声明的变量,作用范围只在当前方法中int a = 0;System.out.println(name + "在学习");}void sayHi() {int a = 1;System.out.println("大家好我叫:" + name + "我的年龄是:" + age + "我的学号是:" + stuID);}

变量分类

全局变量(成员变量):在类的里面声明的变量,作用范围在整个类中.

局部变量:在方法结构中声明的变量,作用范围只在当前方法中.

自己创建的类,属于自定义类型.是引用类型

2.如何创建类对象

类型   变量 = 创建Scanner对象
Scanner s  = new Scanner();//创建一个扫描器对象Student zs = new Student();//创建一个学生对象 并将对象存储给zs这个变量
Student ls = new Student();//创建一个学生对象 并将对象存储给ls这个变量
Student ww = new Student();//创建一个学生对象 并将对象存储给ww这个变量

3.如何访问类对象

package oo.day01;/*** 学生类的测试类:*/
public class StudentDemo {public static void main(String[] args) {Student zs = new Student();//创建一个学生对象 并将对象存储给zs这个变量//1.创建对象时,对象有什么内容由模板来决定.//2.zs这个变量能打点调用出什么,由模板来决定.zs.name = "张三";zs.age = 18;zs.stuID = 1001;zs.study();zs.sayHi();Student ls = new Student();ls.name = "李四";ls.age = 26;ls.stuID = 1002;ls.study();ls.sayHi();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/877942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

sheng的学习笔记-AI-生成式方法

AI目录:sheng的学习笔记-AI目录-CSDN博客 需要额外的知识对应连接: EM:sheng的学习笔记-AI-EM算法-CSDN博客 贝叶斯: sheng的学习笔记-AI-贝叶斯(Bayesian)分类-CSDN博客 高斯混合模型:shen…

C#中的WebClient与XPath:实现精准高效的Screen Scraping

在现代互联网中,Screen Scraping(屏幕抓取)已成为从网页中提取信息的重要技术。对于C#开发者来说,WebClient和XPath是实现高效抓取的重要工具。本文将概述如何使用C#中的WebClient类结合XPath技术,实现精准高效的Scree…

流媒体服务器如何让WebRTC支持H.265,同时又能支持Web js硬解码、软解码(MSE硬解、WASM软解)

为了这一整套的解决方案,调研研发整整花费了差不多半年多的时间,需达成的目标: 流媒体服务器端不需要将H.265转码成H.264,就能让Chrome解码播放H.265; 注意:现在很多市面上的软硬件通过转码H.265成H.264的…

融合创新趋势:Web3时代的跨界融合

随着互联网技术的飞速发展,Web3时代的到来正引领着一场深刻的技术与社会变革。Web3,作为下一代互联网技术的代表,不仅仅是一种技术创新,更是一种跨界融合的趋势。通过去中心化、智能合约和区块链技术的应用,Web3正在重…

django学习入门系列番外篇《request》

文章目录 1 Response功能介绍2 HttpResponse2.1 HttpResponse对象介绍content_typeContent-Type是什么?Content-Type的格式 Content-DispositionContent-Disposition的作用Content-Disposition的使用语句 例子 2.2 HttpResponse常用用法 3 JsonResponse3.1 JsonResp…

2054. 骑马修栅栏

代码 #include<bits/stdc.h> using namespace std; int mp[505][505]; queue<int> ans; int du[505]; int n0,m,u,v;void dfs(int i) {for(int j1;j<n;j){if(mp[i][j]>1){mp[i][j]--;mp[j][i]--;dfs(j);}}ans.push(i); } int main() {cin>>m;for(int …

WordPress简约响应式个人博客Kratos主题

Kratos主题基于Bootstrap和Font Awesome的WordPress一个干净&#xff0c;简单且响应迅速的博客主题&#xff0c;Vtrois创建和维护&#xff0c;主题设计简约友好&#xff0c;并且支持响应式&#xff0c;自适应访问&#xff0c;简seo单大方的主页构造&#xff0c;使得博客能在臃肿…

8.20T3 无损加密(线性代数转LGV+状压dp+高维前缀和)

http://cplusoj.com/d/senior/p/NODSX2301C 对于式子&#xff1a; 这个神秘的线性代数形式比较难处理&#xff0c;但我们可以考虑其组合意义。行列式现存的可用组合意义之一就是LGV&#xff08;矩阵式不太可用&#xff09; 先把原先的矩阵转化为一个有向图。现在我们要构造一…

ArcGIS如何将投影坐标系转回为地理坐标系

有时候两个数据&#xff0c;一个为投影坐标系&#xff0c;另一个为地理坐标系时&#xff0c;在GIS软件中位置无法叠加到一起&#xff0c;这需要将两个或多个数据的坐标系统一&#xff0c;可以直接将地理坐标系的数据进行投影&#xff0c;或将投影坐标系转为地理坐标系。下面介绍…

自养号测评技术:如何挑选适合的IP环境方案

市面上的IP服务及常见问题 当前市场上常见的IP服务包括911、Luminati、Google Fi、TM流量卡、Socks专线等。这些服务在为用户提供网络代理或VPN服务时&#xff0c;常会遇到以下主要问题&#xff1a; 1. 高负载与重复率高&#xff1a;由于使用人数众多&#xff0c;导致网络拥堵…

移动端爬虫学习记录

免责声明 本文旨在探讨移动端爬虫技术的应用和挑战&#xff0c;仅供教育和研究用途。请确保在合法合规的框架内使用爬虫技术&#xff0c;遵循相关法律法规和网站的使用条款。作者不对因使用本文内容而产生的任何法律或安全问题承担责任。 1、初识移动端爬虫 学习移动端爬虫的原…

docker映射了端口,宿主机不生效

1、问题产生原因 docker run -d --name my-redis -p 6379:6379 -v /usr/redis.conf:/usr/local/etc/redis/redis.conf team-redis:3.2 redis-server /usr/local/etc/redis/redis.conf 这容器跑起来了&#xff0c;端口6379没用。搞的我一直怀疑哪里出错了&#xff0c;查看配置…

Kakfa的核心概念-Replica副本(kafka创建topic并指定分区和副本的两种方式)

Kakfa的核心概念-Replica副本&#xff08;kafka创建topic并指定分区和副本的两种方式&#xff09; 1、kafka命令行脚本创建topic并指定分区和副本2、springboot集成kafka创建topic并指定分区和副本2.1、springboot集成kafka2.1.1、springboot集成kafka创建topic并指定5个分区和…

VScode 连接远程服务器

1、 2、 3、免密登录 1、本地生成密钥 ssh-keygen2、生成的密钥默认在 C:\Users\***\.ssh\ 中3、将私钥 C:\Users\***\.ssh\id_rsa 添加到上面的配置文件中的 IdentityFile 项内4、将公钥 C:\Users\***\.ssh\id_rsa\id_rsa.pub 拷贝到远程 ~/.ssh/authorized_keys 中 4、远程…

【精选】基于django柚子校园影院(咨询+解答+辅导)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

Golang | Leetcode Golang题解之第371题两整数之和

题目&#xff1a; 题解&#xff1a; func getSum(a, b int) int {for b ! 0 {carry : uint(a&b) << 1a ^ bb int(carry)}return a }

「Python数据分析」Pandas进阶,利用concat()函数连接数据(一)

在我们迈向中高级出局数据分析的过程中&#xff0c;数据的合并和连接&#xff0c;是一个非常重要的技能。 现实中&#xff0c;分散在各种数据库&#xff0c;各种数据表格&#xff0c;各种数据存储设备当中的&#xff0c;各式各样的数据&#xff0c;是我们进行数据分析的基础&a…

SmartGit-Git版本控制系统的图形化客户端

SmartGit&#xff1a; SmartGit是一款免费的、专业的Git版本控制系统的图形化客户端。它适用于Windows、Mac和Linux等多种操作系统&#xff0c;提供了直观的用户界面和丰富的功能。支持创建、克隆、推送、拉取、合并和管理Git仓库&#xff0c;以及强大的分支管理功能。还提供了…

(免费领源码)python#Django#msyql学生个性化培养的教学资源平台的设计与实现19385-计算机毕业设计项目选题推荐

摘 要 信息化社会内需要与之针对性的信息获取途径&#xff0c;但是途径的扩展基本上为人们所努力的方向&#xff0c;由于站在的角度存在偏差&#xff0c;人们经常能够获得不同类型信息&#xff0c;这也是技术最为难以攻克的课题。针对学生个性化培养的教学资源平台等问题&#…

进制转换计算幸运数出现次数(华为od机考题)

一、题目 1.原题 有位客人来自异国&#xff0c;在该国使用m进制计数。 该客人有个幸运数字n(n<m)&#xff0c;每次购物时&#xff0c; 其总是喜欢计算本次支付的花费(折算为异国的价格后)中存在多少幸运数字。 问&#xff1a;当其购买一个在我国价值k的产品时&#xff0c;…