/*一、 面向思想的落地法则一
* 1.设计类,并设计成员(成员变量和成员方法)
* 2.通过类,来创建类的对象(也称类的实例化)
* 3.通过“对象.属性”和“对象.方法”来调用,完成相应方法*
*
* 二、创建多个对象,彼此各自拥有一套类的属性。当对其中一个对象的属性进行修改时,
* 不会影响到其他对象的属性值。
* 三、累的属性(成员变量)
* 成员变量 VS 局部变量
* 相同点:1都遵循变量声明的格式:数据类型 变量名=初始化值
* 2.都作用域 即像花括号里 public{}class{}
* 不同点:1.声明的位置的不同:成员变量:声明在类里,方法外
* 局部变量:声明在方法内,方法的形参部分,代码块内
* 2.成员变量的修饰符有四个:public private protetcted 缺省 String name;int age;
* 局部变量没有修饰符,与所在的方法修饰符相同
* 3.初始化值:一定会有初始化值
* 成员变量:如果在声明的时候,不显示的赋值,那么不同的数据类型会有不同的默认初始化值。
* byte short int long ==>0
* flaot double ==>0.0
* char ==>空格
* boolean ==>false
* 引用类型变量 ==null
* 局部变量:一定要显示的赋值。(局部空间没没有初始化值)
* 4.二者在内存存放的位置不同:成员变量存放在堆空间中;
* 局部变量:存放在栈空间中setName(String n)
* 四、类的方法 提供某种功能的实现就叫做方法
* 1.实例:public void eat(){}
* public String getName(){return}
* public void setName(String n){ name=n;} 一调用这个方法 p1.setName() 字符串就赋给n,在通过n=name;直接调属性==p1.name;
* 格式:权限修饰符 返回值类型 (void:无返回值或者有具体的返回值 ) 方法名(形参){方法体}
* 2.返回值类型:void:表明此方法不需要返回值
* 有返回值的方法:在方法最后一定有return+返回值类型对应的变量
* 3.方法内可以调用类的反法或属性,但不在方法内再定义方法*/
public class TestZoo {
public static void main(String[] args) {
int i,age;
//这写报错age+=i;
//ai就是个实实在在的对象
Animal a1=new Animal();
//通过对象调用属性
a1.name="大象";
a1.age=5;
System.out.println("name:"+a1.name+"age:"+a1.age);
//通过对象调用方法
a1.eat();
a1.sleep();
a1.info();
//在创建一个a2对象时 修改a2 不会影响到a1
Animal a2= new Animal();
a2.name="老鼠";
a2.age=9;
System.out.println("name:"+a2.name+"age:"+a2.age);
//a3不意味着相较于 a1重新创建对象,而是a1与a3公用一个实体
Animal a3=a1;//相当于前面学到的数组 值传递把 a1的首地址给了a3
a3.name="大海";
System.out.println("name:"+a3.name+"age:"+a3.age);
a1.desc();
System.out.println(a1.desc());
System.out.println("A1 name:"+a1.name+"age:"+a1.age);
a1.addAge();//我以调用addAge方法,在a1对象的age属性上加3
System.out.println(a1.age);//前面又给a1.age=3;在打印就结果为3
}
}
class Animal{
//1.属性
String name;
int age;
//2.方法
public void eat(){
System.out.println("动物进食");
}
public void sleep(){
System.out.println("睡觉");
}
public String getNane(){
return name;
}
public void setName(String n){//n 局部变量
name=n;//n 局部变量
}
public void info(){
System.out.println("name:"+name+"age:"+age);
}
public void addAge(){
int i=3;//在方法里的定义的也是局部变量
age+=i;
}
//当对象调用此方法时,会将方法的方法返回值提供给方法的调用者,即当前的对象
public String desc(){
if(age>1){
return "一二三";
}else{
return "四五六";
}
}
public void Runing(){
//可在方法内调用本类的方法,但不可以在方法内定义新的方法
info();
eat();
//public void setOk(){
// System.out.println("一二三");
//}
}
}相关推荐
深入解析迪米特法则(LoD)设计原则与实战应用
在面向对象系统设计中,迪米特法则(Law of Demeter, LoD)强调一个类应尽量减少对其他类的了解和依赖。其核心机制依赖于对“直接朋友”这一概念的准确定义——只有与当前对象存在明确、合法关系的对象才能被直接调用。若无法清晰界定哪些对象属于“可通信范围”,则LoD将沦为空洞的原则,难以落地实施。因此,深入理解“直接朋友”的判定标准,是实现低耦合、高内聚架构的关键前提。编写AST解析器识别长链调用:// 使用JavaParser进行源码扫描if (!
关于评审--从思想到落地
本文来自网易云社区作者:刘煦萍近期笔者所在的团队对评审这件事儿有些头疼,一方面是评审质量,另一方面是流程不够明确。哪些要做评审?哪些可以不做?要做的必须要谁参加?达到什么效果?如果所有内容都要评审,而且所有人都要参加,那么一个2周的版本中间光全体评审会就要开至少4次,再加上站会、小结会等,这样的节奏团队无法承受。今天笔者就这个问题跟大家谈谈自己的想法(所有的实践也都是笔者亲身尝试过),希望能有所帮...
Arduino跑通ssd1306_spi显示屏
代码首先,您需要下载两个库:● Adafruit GFX库,这是核心图形库,提供了一组通用的图形基元(点、线、圆等)。它需要与特定于硬件的库对应。● Adafruit SSD-1306 OLED显示库,这是基于SSD1306驱动程序的OLED显示器的库。解压缩这两个库并将它们添加到Arduino库文件夹中,然后运行Arduino IDE并从OLED库中打开SPI示例。
面向对象思想的落地法则
package com.atguigu.java; //面向对象思想的落地法则: //1.设计类,并设计类的成员(成员变量&成员方法) // 2.通过类,来创建类的对象(也称作类的实例化) //3.通过“对象.属性”或“对象.方法”来调用,完成相应功能 public class TestZoo { public static void main(String[] args) { //基本数...
STM32F407 HAL库定时器触发ADC采集与DMA数据传输(定时器TIM+ADC+DMA)
在STM32F407系列微控制器的开发中,结合定时器、ADC(模数转换器)与DMA(直接存储器访问)控制器,能够显著提升数据采集与传输的效率。本文将指导你如何使用STM32 HAL库,通过定时器触发ADC1的单通道采集,利用DMA传输数据,最终通过串口将电压值打印出来。具体实现中,我们将读取ADC1的通道5(对应引脚PA5),并将转换得到的电压值发送到串口助手上进行显示。
win11本地部署openclaw实操第1集
OpenClaw 是一款开源、本地优先、可自托管的 AI 智能体(AI Agent)网关 / 自动化框架,核心是让 AI 从 “只聊天、给建议” 变成 “能在你电脑上真做事” 的数字助手。
JAVA学习--面向对象思想的落地法则
* 面向对象思想的落地法则一: * 1.设计类,并设计类的成员(成员变量&成员方法) * 2.通过类,来创建类的对象(也称作类的实例化) * 3.通过“对象.属性” 或“对象.方法”来调用,完成相应的功能 * * 二、创建的多个对象,彼此各自拥有一套类的属性。当对其中一个对象的属性进行修改时, * 不会影响到其他对象的属性值。 * * 三、类的属性(成员变量) * 成员变量
ANSYS Workbench实战:用网格自适应搞定超弹性橡胶大变形仿真(附避坑命令流)
本文深入探讨了ANSYS Workbench中超弹性橡胶大变形仿真的网格自适应技术,重点解析了混合U-P单元的应用、非线性自适应网格的实战技巧及材料模型选择的注意事项。通过具体案例和命令流示例,帮助工程师有效解决橡胶仿真中的收敛问题和网格畸变挑战,提升仿真精度和效率。
面向对象设计原则和思想
一 单一职责原则 1.1 单一职责原则概念 单一职责原则的英文是 Single Responsibility Principle,缩写为 SRP。这个原则的英文描述是这样的:A class or module should have a single responsibility。如果我们把它翻译成中文,那就是:一个类或者模块只负责完成一个职责(或者功能)。 一个类只负责完成一个职责或者功能。也就是说,不要设计大而全的类,要设计粒度小、功能单一的类。换个角度来讲就是,一个类...
【论文硬核拆解】Ctx2Skill:让大模型自己跟自己玩,从上下文里「进化」出可复用技能
论文选择自然语言技能可解释性:技能是人类可读的 Markdown 文件,可以审查、编辑、调试可迁移性:即插即用,从一个模型到另一个模型无需参数访问:对闭源模型友好这比 SKILL0/SkillRL 等参数内化方法更实用,尤其是在商业 API 场景。
【Unity实战100例】Unity循环UI界面切换卡片功能
功能包括:可以设置半径,高度,速度,元素数量用户可以根据自己的实际需求接入 制作思路:创建每个元素对应的虚拟点,通过旋转管理这些虚拟点,然后把旋转信息和位置信息同步给实际的元素
面向对象——OOP(一)(落地法则、局部变量与全局变量、方法及重载、构造器及重载、代码块、内部类及匿名内部类、对象的创建与使用)
面向对象与面向过程:(二者都是一种思想,面向对象是相对于面向过程而言的)● 面向对象(Object Oriented Programming):将功能封装进对象,强调具备了功能的对象(用类组织代码,将事物共有的特征提取出来,易于代码维护和扩展)● 面向过程(procedure oriented programming):强调的是功能行为(用方法组织代码,符合基本思维,但代码不易于维护和...
迫零均衡前与迫零均衡后眼图对比附Matlab代码
迫零均衡(Decision Feedback Equalization,DFE)是一种常用的数字通信技术,用于抑制信号传输中的多径干扰。迫零均衡(Decision Feedback Equalization,DFE)是一种常用的数字通信技术,用于抑制信号传输中的多径干扰。眼图是一种常用的信号质量评估工具,通过绘制接收到的信号在时域上的波形,可以直观地观察到噪声、失真和干扰等问题。眼图是一种常用的信号质量评估工具,通过绘制接收到的信号在时域上的波形,可以直观地观察到噪声、失真和干扰等问题。
约翰伯格的简单投资法则
本文的目的在于全面解析约翰伯格的简单投资法则,使投资者能够深入理解这些法则的内涵、原理和实际应用方法。范围涵盖了从投资法则的基本概念、理论基础到具体的操作步骤、实际案例分析,以及相关的工具资源推荐和未来发展趋势探讨等多个方面。通过对这些内容的详细阐述,帮助投资者将约翰伯格的投资理念应用到实际投资活动中,提升投资决策的科学性和有效性。本文将按照以下结构进行阐述:首先介绍核心概念与联系,明确约翰伯格简单投资法则的基本理念和相关概念之间的关系;
22、狭义相对论与曲线坐标空间相关知识解析
本文深入解析了狭义相对论与曲线坐标空间的核心概念,涵盖能量-动量张量的定义与守恒、曲线坐标系下的度量张量与基向量性质、协变与逆变张量的变换规则,并介绍了克里斯托费尔符号与协变导数的计算方法。进一步探讨了在弯曲空间中进行微积分运算的基础理论及其在广义相对论中的关键应用,如爱因斯坦场方程如何描述物质-能量对时空曲率的影响,为理解黑洞等引力现象提供了理论框架。
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
面向规范编程,AI时代的架构师生存法则
面向规范编程,不是对程序员工作的“剥夺”,而是一种升维。我们不再沉迷于敲击键盘的快感,而是专注于思考业务、定义边界、设计结构。我们不再是AI的“助手”或“监工”,而是AI的“导师”和“架构师”。当AI能写出完美代码的那一天,唯一不可替代的,就是那个能写出完美规范的人。你准备好了吗?让我们一起,从代码的丛林里走出来,站到规则的顶端去。
RU DOS版、EFI版32bit/64bit BIOS常用工具
DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。
【Java设计模式 思想原则重构】设计思想、设计原则、重构总结
对于总结的总结来说,好像没什么可说的,一言以蔽之:通过继承、封装、多态、抽象、基于接口而非实现编程、多用组合少用继承、高内聚-松耦合、控制反转等设计思想;SOLID、KISS、DRY、YAGNI、LOD等设计原则和法则;创建型、结构型、行为型这些设计模式;依赖注入等编程技巧;模块化等系统设计技巧;命名与注释、编程风格、编程技巧等编程规范,在持续的重构中发挥作用。通过单元测试保证重构的顺利进行。而最终的目的都是保证易扩展、易维护、易复用、易读、简介、灵活、易测试的高质量代码活力常在。
数学建模模型总结
这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
day05_02面向对象的编程思想
面向对象(OOP)和面向过程。
面向对象设计七大原则:从 SOLID 到迪米特法则的完整实践指南(附 15 道高频题)
本文是设计模式系列的起点,沿 **「SRP → OCP → LSP → ISP → DIP → LoD → CRP」** 这条主线,系统梳理面向对象设计的七大原则,为后续学习 23 种设计模式打下坚实基础。开闭原则是 SOLID 五大原则的**核心目标**,其他四个原则(SRP、LSP、ISP、DIP)都是为实现 OCP 服务的手段。> **软件实体(类、模块、函数)应该对扩展开放,对修改关闭。**判断标准**:如果需求变更时,你需要修改这个类的**多个不相关的理由**,那就违反了 SRP。
AI Agent人机协作的杠杆法则:面向任务的四大协作模式与实战指南
人机协作是人工智能领域的重要发展方向,其核心在于如何高效整合人类智能与机器能力。从技术原理上看,关键在于任务分解与角色动态分配,通过精准的模式匹配来提升整体效能。在工程实践中,这直接关系到AI Agent的应用价值与落地效果。常见的协作场景包括自动化流程处理、创意内容生成、复杂问题求解与系统监控等。本文聚焦的“杠杆法则”框架,正是针对这一痛点,系统性地提出了执行、增强、交互、监督四大协作模式,并结合任务诊断矩阵,为不同性质的任务匹配最优的协作策略,旨在实现人力投入与任务产出比的最大化,为人机协作的工程化实践
WaveTerm 插件开发完整路径:从 JSON 一行配置到 Go 实时图表
WaveTerm 是一款开源跨平台、内置 AI 的终端,WaveTerm 插件(Widget,即 widget 栏里可拖拽的功能块)开发只有两条路:纯 JSON 配置,或用 Tsunami 框架写 Go 交互应用。这篇文章直接讲"先判断走哪条路",再带你把两种插件从配置到打包全部走通。 ## 🔍 先判断路线:写第一行代码之前回答 3 个问题 动手前回答三个问题: 1. 只想"点开就运行一个
C++编程思想:从语法到设计,构建健壮软件的心智模型
面向对象编程(OOP)是一种以对象为核心,通过封装、继承和多态三大特性来组织代码的编程范式。其核心原理在于将数据与操作数据的方法绑定为对象,并通过抽象建立清晰的边界,从而隐藏实现细节、降低模块间的耦合度。这一思想的技术价值在于能够显著提升代码的可维护性、可扩展性和复用性,是构建大型复杂软件系统的基石。在实际应用场景中,无论是开发桌面应用、游戏引擎,还是实现计算机视觉库(如OpenCV),良好的OOP设计都能让项目结构更清晰、协作更高效。本文以C++为例,深入探讨如何通过封装建立对象边界、利用RAII机制管理
面向对象六大原则深度解析
本文深度解析面向对象六大设计原则,着重探讨开闭原则(OCP)和依赖倒置原则(DIP)。开闭原则强调通过扩展而非修改现有代码实现功能变化,文中通过Android自定义View、策略模式等案例说明其应用。依赖倒置原则要求高层模块与低层模块都依赖抽象,以MVVM架构为例展示其解耦优势。文章还解答了"其他五大原则是否都是开闭原则体现"这一经典问题,指出它们是实现开闭原则的具体手段和约束条件。最后强调这些原则的灵活运用能编写出适应需求变更的高质量代码。
Longflow Manifesto 管理篇:团队负责人告别微观管理的9条黄金法则
Longflow Manifesto(Longflow 宣言)是一款面向软件团队的工程驱动工作流方法论,核心是帮助团队负责人**告别微观管理**的 9 条管理黄金法则。它诞生于对"Agile/Scrum"式流程的反思,主张以工程师为中心、以长期目标为导向,让质量而非截止日期成为团队的第一优先级。 ## 为什么是 Longflow:时间产出关系是非线性的 在软件行业,企业主卖的是产品,而开发者的
程序员的自我修炼(一):打通任督二脉
程序员的自我修炼(一):打通任督二脉 文章目录程序员的自我修炼(一):打通任督二脉前言思想的力量黄金圈法则软技能剑的力量驱动力3.0十步学习法整体性学习方法费曼学习法富爸穷爸爸爸结语 前言 世界上有两种力量,一种是思想,一种是剑。 还记得《倚天屠龙记》中的张无忌吗?光明顶上力挽狂澜,救明教于水火之中的侠之大者~ 教主之所以那么厉害,除了基因优良,父母、义父、师公、外公教导有方外,一个重要的原因就是...
946



被折叠的 条评论
为什么被折叠?



