Java学习第五天
1、类的使用Java的面向对象1.1面向对象的基础概念面向过程面向过程指的是每次需要某个功能的时候都需要将功能重新编写一次。----早期的时候很多程序采用的都是面向过程这种方式会产生维护困难、需求不容易修改、功能扩展不方便等问题面向对象提前把特定的功能封装好放到类的方法中将来通过类的对象直接调用方法就可以完成方法的复用这种方法维护简单功能扩展比较容易但是消耗较高需要创建对象1.2面向对象核心知识点类、对象类类是对象的抽象对象对象是类的实例化1.3类和对象的语法类的写法类没有main方法即psvm1、类型2、属性3、方法publicclass 类名{//描述什么类型就写什么类名//属性数据类型 变量名属性名就是变量名数据类型 属性名数据类型 属性名//功能方法public 返回值类型 方法名{}public 返回值类型 方法名{}}package com.day3.text1; public class Computer { //属性 String brand; String color; double price; //功能方法 public void play() { System.out.println(电脑可以玩游戏); } public void code () { System.out.println(电脑可以写代码); } }对象的创建对象有main方法即psvm创建类的目的是为了编写一些方法将来可以多次调用方法执行特定的业务逻辑如果想调用类的方法就必须创建类的对象创建对象创建变量对象名就是变量名语法数据类型 对象名new 数据类型( );通过对象调用方法对象名.方法名通过对象调用属性对象名.属性名值 //赋值对象名.属性名 //获取值获取属性System.out.println(对象名.属性名);注意类的属性也称成员变量使用时即使没有赋值系统也会提供一个默认值可以使用引用类型包含String默认值是null整数类型默认值是0浮点数类型默认值是 0.0char 类型 默认值是 boolean 类型默认值是 falsepackage com.day3.text1; import com.day3.text1.Computer; public class ComputerText1{ public static void main(String[] args) { Computer computernew Computer();//Computer是一个引用数据类型 computer.play(); computer.code(); computer.brand华硕; computer.color黑色; computer.price7999; //获取属性也是通过对象.属性名获取 System.out.println(computer.price); System.out.println(computer.color); System.out.println(computer.brand); } }1.4类的混合使用例题单独创建包包中创建一个教师类有姓名、年龄、职称、课程类 四个属性类中有一个 show 方法输出的内容是 我是 一个老师我的姓名是: xx年龄是 xx职称是 xx我教授的课程名是 xx这门课有 xx 课时xx 学分package com.day3.text2; public class Teacher { String name; int age; String professional; Course c;//获取值 public void show(){ System.out.println(我是一个老师我的姓名是name,年龄是age ,职称是professional,我教授的课程名是 c.cname,这门课有c.time课时,c.score学分); } }package com.day3.text2; public class TeacherText1 { public static void main(String[] args) { Teacher tnew Teacher(); t.name李四; t.age24; t.professional高级教师; t.cnew Course();//将new Course()赋值给t.c(即在teacher中的Course c;)t.c是变量的命名 t.c.cname高数; t.c.time48; t.c.score3; t.show(); } }package com.day3.text2; public class Course { String cname; int time; int score; }重点代码理解在教师类包含课程类中课程作为属性所以需要在教师类中加入代码Course c;即数据类型 对象名并且在教师类方法里面关于课程的输出内容变成c.cname...注意不是t.c.cname在教师对象中属性是一个类的赋值方式, 需要创建一个对象赋值给属性t.cnew Course();//赋值给t.ct.c是变量的命名t.c.cname高数;t.c.time48;t.c.score3;1.5类在内存中的划分①编写的 .java 文件被编译为.class 文件 会被 JVM 加载到方法区②当执行Computer computer new Computer();的时候 会先在堆区创建空间同时把方法区的属性、方法引用加载到空间中把这个空间地址赋值给 栈区的computer③当我们执行后续的赋值操作computer.brand华硕;通过computer的引用地址倒找堆区的空间把空间中的属性去赋值④当我们调用方法computer.play(); 就会将方法加载到栈中按照先进后出的规则去存放⑤程序执行结束栈中的方法会按照先进后出的规则出栈结束运行堆中的对象则会被系统的垃圾回收器回收1.6成员变量和局部变量的区别①成员变量在类中方法外中声明局部变量在类中方法内中声明②成员变量使用不需要赋初始值系统会给默认值 局部变量必须要赋初始值才能使用③成员变量在堆中局部变量在栈中④成员变量随着对象的回收而消失局部变量随着方法的出栈而消失1.7构造方法重要构造方法的作用构造方法是和new关键字一起出现来创建类的对象使用的public class Person { String name; int age; //构造方法无参构造 public Person(){ } //有参构造 public Person(String name,int age){ } }特点①构造方法的方法名和类名完全相同没有返回值类型②如果类中没有编写构造方法那么系统会自动提供一个没有参数的构造方法有参数构造和无参数构造不能同时出现③构造方法可以写参数一般写上的参数参数名称一般和类的属性相同主要是为了完成创建对象的同时给属性赋值调用无参构造可用于赋值数据类型 对象名new 数据类型( );调用有参构造可用于赋值数据类型 对象名new 数据类型( 内容内容内容 );//第一种情况 Person personnew Person(); String name张三; int age12; //第二种情况 Person personnew Person(张三,12);

相关新闻

端侧推理:在设备本地运行轻量级AI模型(219)

端侧推理:在设备本地运行轻量级AI模型(219)

在鸿蒙(HarmonyOS)生态中,端侧推理是实现“原生智能”的核心基石。它允许将训练好的深度学习模型轻量化处理后,直接部署在手机、平板、穿戴等鸿蒙终端设备本地。所有数据预处理、模型推理及结果输出均在端侧完成,无需依…

2026/7/23 8:31:55 阅读更多 →
iOS视频编解码优化:WebRTC集成VideoToolbox实战

iOS视频编解码优化:WebRTC集成VideoToolbox实战

1. 项目背景与核心价值 在iOS平台上实现高效视频编解码一直是开发者面临的挑战。传统软件编解码方案虽然兼容性好,但CPU占用率高、功耗大,直接影响设备续航和用户体验。VideoToolbox作为苹果提供的底层框架,自iOS 8起开放了硬件编解码接口&am…

2026/7/20 21:36:02 阅读更多 →
PHP高效开发与安全优化的63个实战技巧

PHP高效开发与安全优化的63个实战技巧

1. PHP实战技巧概述作为一名从业十年的PHP开发者,我见过太多新手在项目开发中重复踩坑。PHP虽然入门简单,但要写出高效、安全的代码却需要长期经验积累。本文将分享我在实际项目中总结的63个核心技巧,涵盖性能优化、安全防护、代码规范等关键…

2026/7/23 4:28:20 阅读更多 →

最新新闻

Linux常见指令及权限理解

Linux常见指令及权限理解

一、Linux指令基础 01. ls 指令语法: ls [选项][目录或文件]功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。常用选项:-a 列出目录下的所有文件,包括以 . 开头的…

2026/7/23 18:16:28 阅读更多 →
2024软路由介绍及新手入门(一) #软路由 #openwrt

2024软路由介绍及新手入门(一) #软路由 #openwrt

一、软路由介绍 软路由利用台式机或服务器配合软件形成路由解决方案,主要靠软件的设置,达成路由器的功能。而硬路由则是以特有的硬设备,包括处理器、电源供应、嵌入式软件,提供设定的路由器功能。 其中,基于Windows平…

2026/7/23 18:16:28 阅读更多 →
基于Spring Boot的应届毕业生实习就业系统的设计(毕设-完整源码+论文)

基于Spring Boot的应届毕业生实习就业系统的设计(毕设-完整源码+论文)

代码经调试,能够正常运行,以下为项目的部分展示,点赞收藏关注 → 私信领取本源代码 源码合集 1. 摘 要 本文介绍了一种基于Spring Boot框架的应届毕业生实习就业系统的设计和实现。该系统分为用户端和管理端两个模块,旨在为应届毕…

2026/7/23 18:16:28 阅读更多 →
2026AI写歌APP推荐 国产AI作曲工具实测对比

2026AI写歌APP推荐 国产AI作曲工具实测对比

最近不管是做短视频配乐、发原创歌曲到音乐平台,还是把日常灵感做成旋律,越来越多普通人开始用AI写歌工具。但实际选的时候很容易踩坑:海外工具中文咬字生硬跑调、商用版权没保障;部分国产工具编曲模板化严重,版权归属…

2026/7/23 18:16:28 阅读更多 →
麒麟信安登录央视, 深度展现为中国信息安全铸“魂”之路

麒麟信安登录央视, 深度展现为中国信息安全铸“魂”之路

近日,麒麟信安登录央视频道,《麒麟信安——为中国信息安全铸“魂”》在CCTV-4中文国际频道、CCTV-7国防军事频道、CCTV-10 科教频道、CCTV-12社会与法频道、CCTV-17农业农村频道,向亿万观众深度展现麒麟信安为中国信息安全铸“魂”之路。 麒麟…

2026/7/23 18:16:28 阅读更多 →
Tiva μDMA控制器寄存器详解与实战配置指南

Tiva μDMA控制器寄存器详解与实战配置指南

1. 项目概述与μDMA核心价值 在嵌入式系统开发中,尤其是面对Tiva™ TM4C1292NCZAD这类高性能ARM Cortex-M微控制器时,如何高效、实时地处理海量数据流,是决定系统性能上限的关键。无论是从ADC采集传感器波形,通过UART收发大量数据…

2026/7/23 18:15:28 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/22 8:58:19 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/22 19:43:43 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 17:49:47 阅读更多 →

月新闻