Java面向对象第一天

  1. 什么是类?什么是对象?

    • 现实生活是由很多很多对象组成的,基于对象抽出了类

    • 对象:软件中真实存在的单个的个体/东西

      类:类型/类别,代表一类个体

    • 类是对象的模板/模子,对象是类的具体的实例

    • 类中可以包含:

      • 对象的属性/特征/数据-----------------成员变量

      • 对象的行为/动作/功能-----------------方法

    • 一个类可以创建多个对象

  2. 如何创建类?如何创建对象?如何访问成员?

    //学生类
    public class Student {//成员变量String name;int age;String address;//方法void study(){System.out.println(name+"在学习...");}void sayHi(){System.out.println("大家好,我叫"+name+",今年"+age+"岁了,家住"+address);}
    }
    ​
    //学生类的测试类
    public class StudentTest {public static void main(String[] args) {//创建一个学生对象Student zs = new Student();//给成员变量赋值zs.name = "zhangsan";zs.age = 25;zs.address = "河北廊坊";//调用方法zs.study();zs.sayHi();
    ​Student ls = new Student();ls.name = "lisi";ls.age = 24;ls.address = "黑龙江佳木斯";ls.study();ls.sayHi();
    ​//1)创建了一个学生对象//2)给所有成员变量赋默认值Student ww = new Student();ww.study();ww.sayHi();}
    }

  3. 方法的签名:方法名+参数列表

  4. 方法的重载(overload/overloading):---------------------------大大方便用户的调用

    • 发生在同一类中,方法名相同,参数列表不同

    • 编译器在编译时会根据方法的签名自动绑定调用方法

      //方法重载的演示
      public class OverloadDemo {public static void main(String[] args) {Aoo o = new Aoo();o.show();o.show(25);o.show("zhangsan");o.show("zhangsan",25);o.show(25,"zhangsan");}
      }
      ​
      class Aoo{void show(){}void show(String name){}void show(int age){}void show(String name,int age){}void show(int age,String name){}
      ​//int show(){ return 1; } //编译错误,重载与返回值类型无关//void show(String address){} //编译错误,重载与参数名称无关
      }

补充:

  1. OO:面向对象

    OOA:面向对象分析

    OOD:面向对象设计

    OOP:面向对象编程-------------------你们以后所参与的部分

  2. 高质量的代码:-------------想拿年薪所必须的必

    • 复用性好、扩展性好、维护性好、可移植性好、健壮性好、可读性好、效率好......

  3. 类:是一种引用数据类型(是我们自己创造的一种数据类型)

  4. //          引用
    //数据类型 引用类型变量  指向      对象Student    zs        =   new Student();
  5. new对象时会给所有成员变量赋默认值,规则如下:

    byte,short,int,long,char-------------------0
    float,double-------------------------------0.0
    boolean------------------------------------false
    引用类型------------------------------------null

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

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

相关文章

docker mysql 宿主机挂载配置文件

官方文档摘录(勿喷,仅供自己笔记) 官方文档如下: The MySQL startup configuration is specified in the file /etc/mysql/my.cnf, and that file in turn includes any files found in the /etc/mysql/conf.d directory that e…

GoLang语言范围(Range)

目录 一、在数组、切片上使用‘range’ 二、在映射上使用range 三、在通道上使用range Go语言中的range关键字用于迭代数组(数组、切片、字符串)、映射(map)、通道(channel)或者在 for 循环中迭代每一个…

案例022:基于微信小程序的行政复议在线预约系统

文末获取源码 开发语言:Java 框架:SSM JDK版本:JDK1.8 数据库:mysql 5.7 开发软件:eclipse/myeclipse/idea Maven包:Maven3.5.4 小程序框架:uniapp 小程序开发软件:HBuilder X 小程序…

Django之中间件

引入 1、Django自带7个中间件,每个中间件都有各自的功能 2、django能够自定义中间件 3、使用场景: 1. 全局身份校验 2. 全局用户权限校验 3. 全局访问频率的校验 ...... 【1】什么是中间件 Django中间件是一个轻量级、可重用的组件,用于处理…

python运行jackhmmer二进制命令的包装器类

jackhmmer 是 HMMER 软件套件中的一个工具,用于进行高敏感度的蛋白质序列比对。HMMER(Hidden Markov Model based on profile)是一套用于分析蛋白质序列的工具,它使用隐藏马尔可夫模型(HMM)来建模蛋白质家族…

nodejs微信小程序+python+PHP -留学信息查询系统的设计与实现-安卓-计算机毕业设计

目 录 摘 要 I ABSTRACT II 目 录 II 第1章 绪论 1 1.1背景及意义 1 1.2 国内外研究概况 1 1.3 研究的内容 1 第2章 相关技术 3 2.1 nodejs简介 4 2.2 express框架介绍 6 2.4 MySQL数据库 4 第3章 系统分析 5 3.1 需求分析 5 3.2 系统可行性分析 5 3.2.1技术可行性:…

543. 二叉树的直径 --力扣 --JAVA

题目 给你一棵二叉树的根节点,返回该树的 直径 。 二叉树的 直径 是指树中任意两个节点之间最长路径的 长度 。这条路径可能经过也可能不经过根节点 root 。 两节点之间路径的 长度 由它们之间边数表示。 解题思路 最长长度可以理解为左子树最长路径加上右子树最长…

MySQL错误之ONLY_FULL_GROUP_BY

报错信息: 翻译: 对该报错的解释 所以,实际上该报错是由于在SQL查询语句中有group by,而这个包含group by的SQL查询写的并不规范导致的,这个ONLY_FULL_GROUP_BY模式开启之后检查就会很严格,如果select列表…

uniapp为什么能支持多端开发?uniapp底层是怎么做的?

文章目录 前言uniapp为什么能支持多端开发?uniapp底层是怎么做条件编译uniapp的语法uniapp如何编译为不同端的代码uniapp的底层是如何做平台特性适配的呢?后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:uniapp &…

【lua】记录函数名和参数(为了延后执行)

需求背景 一个服务缓存玩家信息到对象里,通过对象的函数定时同步到数据库中,如果玩家掉线 清空对象,但是后续步骤导致对象数据需要变更,对象不存在, 就不方便变更了,怎么处理? 方案思考 1.临…

计算机网络——路由

文章目录 1. 前言:2. 路由基础2.1. 路由的相关概念2.2. 路由的特征2.3. 路由的过程 3 路由协议3.1. 静态路由:3.2. 动态路由:3.2.1. 距离矢量协议3.2.2. OSPF协议:3.2.2.1.OSPF概述OSPF的工作原理路由计算功能特性 3.2.2.2.OSPF报…

【Kafka】Java整合Kafka

1.引入依赖 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>2.3.1</version></dependency> 2.搭建生产者 package com.wen.kafka;import org.apache.kafka.clients.produ…

Vuejs+ElementUI搭建后台管理系统框架

文章目录 1. Vue.js 项目创建1.1 vue-cli 安装1.2 使用 vue-cli 创建项目1.3 文件/目录介绍1.4 启动 Web 服务 2. 集成 Vue Router 前端路由2.1 Vue Router 是什么2.2 集成 Vue Router 方法2.3 使 Vue Router 生效 3. 集成 Vuex 组件3.1 Vuex 是什么3.2 集成 Vuex 方法3.3 使 V…

2023全球数字贸易创新大赛-人工智能元宇宙-4-10

目录 竞赛感悟: 创业的话 好的项目 数字工厂,智慧制造:集群控制的安全问题

dlv 安装与使用

dlv 安装 第一步&#xff1a; # git clone https://github.com/go-delve/delve # cd delve # make install 第二步&#xff1a; # ln -s /root/go/bin/dlv /usr/local/bin/dlv 第三步&#xff1a; # dlv version Delve Debugger Version: 1.21.2 Build: d6f215b27b6d8a4e4…

Excel中出现“#NAME?”怎么办?(文本原因)

excel 单元格出现 #NAME? 错误的原因有二&#xff1a; 函数公式输入不对导致 #NAME? 错误。 在单元格中字符串的前面加了号&#xff0c;如下图中的--GoJG7sEe6RqgTnlUcitA&#xff0c;本身我们想要的是--GoJG7sEe6RqgTnlUcitA&#xff0c;但因为某些不当的操作在前面加了号&…

vue+SpringBoot的图片上传

前端VUE的代码实现 直接粘贴过来element-UI的组件实现 <el-uploadclass"avatar-uploader"action"/uploadAvatar" //这个action的值是服务端的路径&#xff0c;其他不用改:show-file-list"false":on-success"handleAvatarSuccess"…

万界星空科技商业开源MES/免费MES/低代码MES

万界星空科技商业开源MES可以提供包括制造数据管理、计划排程管理、生产调度管理、库存管理、质量管理、人力资源管理、工作中心/设备管理、工具工装管理、采购管理、成本管理、项目看板管理、生产过程控制、底层数据集成分析、上层数据集成分解等管理模块&#xff0c;打造一个…

141.【Git版本控制-本地仓库-远程仓库-IDEA开发工具全解版】

Git-深入挖掘 (一)、Git分布式版本控制工具1.目标2.概述(1).开发中的实际常见(2).版本控制器的方式(3).SVN (集中版本控制器)(4).Git (分布版本控制器)(5).Git工作流程图 (二)、Git安装与常用命令1.Git环境配置(1).安装Git的操作(2).Git的配置操作(3).为常用的指令配置别名 (可…

element中el-switch的v-model自定义值

一、问题 element中的el-switch的值默认都是true或false&#xff0c;但是有些时候后端接口该字段可能是0或者1&#xff0c;如果说再转换一次值&#xff0c;那就有点太费力了。如下所示&#xff1a; <template><el-switchinactive-text"否"active-text&quo…