java面向对象编程基础

对象:

java程序中的对象:

本质上是一种特殊的数据结构

对象是由类new出来的,有了类就可以创建对象

对象在计算机的执行原理:

  • student s1=new student();
  • 每次new student(),就是在堆内存中开辟一块内存区域代表一个学生对象
  • s1变量里面记住的学生对象的地址

类:

类中定义的变量也叫成员变量(对象的属性),类中定义的方法也称成员方法(对象的行为)

成员变量存在默认值(0.0 or null) 

一个代码文件,可以写多个class类,但只能一个用public修饰

 //用public修饰的class必须成为文件名

对象与对象之间的数据不会相互影响,但多个变量指向同一个对象就会相互影响

this:

this就是一个变量(c++的this是指针),可以用在方法上,来指定当前对象。

构造器:

创建对象时,对象就会调用构造器。

public student(){System.out.println("无参构造触发");}public student(String name,double chinese,double math){System.out.println("有参构造被触发");this.name=name;this.chinese=chinese;this.math=math;}

构造器的注意事项:

1 类在设计时,如果不写析构器,java会为类自动生成一个无参构造器

2 一旦定义了有参构造器,java就不会为为类自动生成一个无参构造器,需要自己写

以下是一个学生类:

public class student {public student(){System.out.println("无参构造触发");}public student(String name,double chinese,double math){System.out.println("有参构造被触发");this.name=name;this.chinese=chinese;this.math=math;}public void printTotalsum(){System.out.println(name+"的总成绩是"+(chinese+math));}public void printave(){System.out.println(name+"的平均成绩是"+(chinese+math)/2.0);}String name;double chinese;double math;}

实体类:

这个类中成员变量都要私有,且对外要有get(),set(),函数

类中必须有一个公共无参构造器

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

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

相关文章

LangChain-Chatchat知识库对话

前言 上次我们完成了Chatchat的本地部署,使用了LLM对话的功能。这次我们尝试一下其他的功能,之前总是有报错没有跑通,这次处理了几个问题之后才跑通了知识库对话和文件对话。 知识库对话 原理: 首先我们看这个图可以明白,知识库…

go面向对象

继承 封装 多态 定义结构体 //定义老师的结构体 type Teacher struct {Name stringAge intSchool string }func main() {var t1 Teacherfmt.Println(t1)t1.Name "tom"t1.Age 20t1.School "school"fmt.Println(t1) } 结构体实例的创建 package ma…

数据结构(五)——树森林

5.4 树和森林 5.4.1 树的存储结构 树的存储1:双亲表示法 用数组顺序存储各结点,每个结点中保存数据元素、指向双亲结点(父结点)的“指针” #define MAX_TREE_SIZE 100// 树的结点 typedef struct{ElemType data;int parent; }PTNode;// 树的类型 type…

基于深度学习的生活垃圾智能分类系统(微信小程序+YOLOv5+训练数据集+开题报告+中期检查+论文)

摘要 本文基于Python技术,搭建了YOLOv5s深度学习模型,并基于该模型研发了微信小程序的垃圾分类应用系统。本项目的主要工作如下: (1)调研了移动端垃圾分类应用软件动态,并分析其优劣势;…

大数据Spark--入门

文章目录 Spark 概述Spark 是什么Spark and HadoopSpark and HadoopSpark 核心模块 Spark 简单上手创建Maven项目增加 Scala 插件增加依赖关系WordCount异常处理 Spark 概述 Spark 所需资料 链接:https://pan.baidu.com/s/12iaW68vriL6i-xI1kmr0_g?pwdm4zc 提取码…

3.24作业

基于UDP的网络聊天室 项目需求: 如果有用户登录,其他用户可以收到这个人的登录信息如果有人发送信息,其他用户可以收到这个人的群聊信息如果有人下线,其他用户可以收到这个人的下线信息服务器可以发送系统信息 服务器端代码 #in…

20.WEB渗透测试--HTTP协议(上)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于: 易锦网校会员专享课 上一个内容:19.WEB渗透测试--抓包技术(下)-CSDN博客 HTTP请求包 HTTP简介 &am…

计算机组成原理-5-输入输出系统

5. 输入输出系统 文章目录 5. 输入输出系统5.1 概述5.1.1 I/O系统的发展概况5.1.2 I/O系统的组成5.1.3 I/O设备与主机的连接5.1.4 I/O设备与主机传送信息的控制方式 5.2 I/O设备5.3 I/O接口5.4 控制方式5.4.1 程序查询方式5.4.2 程序中断方式5.4.3 DMA方式5.4.4 程序中断方式与…

大白话扩散模型(无公式版)

背景 传统的图像生成模型有GAN,VAE等,但是存在模式坍缩,即生成图片缺乏多样性,这是因为模型本身结构导致的。而扩散模型拥有训练稳定,保持图像多样性等特点,逐渐成为现在AIGC领域的主流。 扩散模型 正如…

2024/3/24 LED点阵屏

显示原理: 类似矩阵键盘,逐行or逐列扫描 74HC595是串行 寄存器 感觉就是三转八寄存器 并行:同时输出;串行:一位一位输出 先配置74HC595,重新进行位声明 sbit RCKP3^5; //RCLK sbit SCKP3^6; …

管理类联考–复试–管理类知识–计划

决策是管理的核心,决策是计划的前提,计划是管理的首要职能,战略是一种计划。 #mermaid-svg-rGssnUQtzhGwEUp6 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-rGssnUQtzhGwEUp6 .e…

Vue3 上手笔记

1. Vue3简介 2020年9月18日,Vue.js发布版3.0版本,代号:One Piece(n 经历了:4800次提交、40个RFC、600次PR、300贡献者 官方发版地址:Release v3.0.0 One Piece vuejs/core 截止2023年10月,最…