Day11 this、static、封装

大数据Java基础DAY8(面向对象——封装) 封装 封装概述 是指隐藏对象的属性和实现细节,仅对外提供公共访问方式。 好处: 隐藏实现细节,提供公共的访问方式 提高了代码的复用性 提高安全性。 封装原则: 将不需要对外提供的内容都隐藏起来。 把属性隐藏,提供公共方法对其访问。 ... 阅读详情

1.面向对象

1.1 This

1.1.1 是什么

this是对象中,保存自身内存地址的一个引用类型变量

this表示对象自己

1.1.2 能做什么

1.在成员方法/构造方法中 区分同名的局部变量和成员变量

2.用在某个构造方法之中,重载调用当前类的替他的构造方法,提高代码的重用性

3.return this:返回当前对象的内存地址,可以做到链式调用

1.1.3 怎么用

1.1.3.1 区分成员和局部变量

调用成员变量直接this.属性值,局部变量则是直接写就行

1.1.3.2 重载调用构造方法

重载调用有参构造,必须在构造方法中的第一行(有效代码的第一行,注释和换行之类的不算)

this(1970,1,1)

1.1.3.3 链式调用

t.m1().m2();

1.1.4 注意事项

1.重载调用构造方法语句,必须在构造方法的第一行

2.this 不能出现在静态方法中

1.2 Static

1.2.1 是什么

static是一个修饰符,主要用来区分静态和动态属性

1.2.1 能做什么

1.static修饰的类体中的变量是静态变量

2.static修饰的方法是静态方法

3.static还可以定义静态语句块

            static{}

1.2.3 怎么用

1.2.3.1 静态变量

static int i = 20;

1.2.3.2 静态方法

public static void m1(){

      System.out.println("静态方法");

}

1.2.3.3 静态语句块

一个大括号就是一个语句块,而方法是一个有名字的语句块,可以重复使用

而静态语句块 等同于是没有名字,没有权限控制,没有参数列表,没有返回值的静态方法。同理也就不能重复使用。

静态语句块和静态方法的优先级一样

1.2.4 实例语句块

等同看作成员方法

语法:{   }

创建一次对象,就执行一次

1.3 封装

1.3.1 是什么

封装是把对象所有的部分组合在一起,封装使用访问控制修饰符,将类的数据隐藏起来,

控制用户对数据的访问和修改的程度。

适当的封装可以让代码更容易理解和维护,也加强了代码的安全性

1.3.2 软件包机制

1.3.2.1 Package

package:是设置编译之后的calss文件的保存位置,和源文件位置无关

如果源文件中,没有出现package语句,则class文件和源文件在同目录下

*软件包机制

1.为了解决命名冲突问题,在类名前加入命名空间

2.package语句只能出现在java源文件的第一行,也可以没有

3.oackage一般采用公司域名倒叙的方式

公司域名倒叙.项目名.模块名

4.带有package语句的java文件的编译

5.带有package语句的class文件的运行

完整的类名 是带有包名的

能够找到这个文件的全路径,才是这个文件的文件名

被调用的类和当前类如果在同一目录下(同包)则可以直接使用

否则就要写类名

1.3.2.2 import

1.引入当前类中需要的其他类,否则就需要些类全名,引入之后,就可以直接写类名使用即可

2.必须出现在package语句之下,class语句之上

3.import 包名.类名:只引入对应的某一个类

4.import 包名.*:引入该包所有的类

5.java.lang.* 下面的类是核心类,使用不需要导包

注意:导包的时候 注意别导错包, 按下空格 和 回车的时候 也会自动导入

比如Date , util下和sql下都有,就很容易出现错误,需要额外留意

静态导入当我们在使用其他类的静态属性的时候,就不需要使用类名调用了。而是直接写名字调用

import static 包名.类名.属性:导入某个静态属性

import static 包名.类名.*:导入所有的静态属性

1.3.3 权限控制

权限控制修饰符

  限制某个数据 可以 被谁使用

public , private, protected

public 公有的谁都能访问

private 私有的,只有当前类能访问

protected :受保护的,继承权限

1. 在继承关系的体系中,通过子类调用

2.同包,就算没有继承关系也能访问

默认:当不使用以上三种修饰符的时候,则是默认权限,只能让当前包中的类使用

EPO: Hierarchical LLM Agents with Environment PreferenceOptimization 长期决策和规划任务依然是基于大型语言模型(LLM)的智能体面临的一大挑战(Valmeekam 等,2023;Liu 等,2023;Silver 等,2024)。这些任务需要智能体进行多步骤的规划,同时保持行为的一致性和目标导向,这对于通常被设计用于即时和局部预测的大型语言模型来说颇为困难。此外,针对具身智能体的大型语言模型微调面临的一个关键难题是大规模标注数据的需求(Reed 等,2022)。 阅读详情

相关推荐

从“烧电路”到“软杀伤”:拆解高功率微波(HPM)让无人机失灵的三种物理效应

本文深度解析高功率微波(HPM)如何通过热效应、电磁效应和非线性效应三种物理机制使无人机失灵。从电子元件的热损伤到系统的电磁干扰,再到电路中的非线性破坏,HPM技术为反无人机系统提供了高效的非动能打击手段。文章还探讨了现代无人机的多层级防护策略与应对方案。

weixin_42531886的博客 253

Day11 this static 封装

1.this 1.1 this 是什么? this 是一个关键字。 //某种意义上 this 等同于 my 我的,来表示自己的。 是每个对象中,保存自身内存地址的一个引用类型变量。 // 谁调用,this就是谁。 1.2 this 能做什么? 1. this 可以指明所调用变量的归属,谁调用的就是谁的变量调用。用 this 来区分。 语法: this...

wzhty125的博客 90

RTAB-MAP实战:用Realsense D435i在ROS中搭建室内3D地图(附避坑指南)

本文详细介绍了如何在ROS环境下,使用Intel Realsense D435i深度相机和RTAB-MAP算法进行室内3D地图构建的完整实战流程。内容涵盖环境配置、核心节点数据流解析、关键参数调优、地图保存与重定位,并提供了实用的避坑指南,帮助机器人开发者和研究者快速实现稳定的视觉SLAM应用。

weixin_29095049的博客 490

Day11 this、static、封装、继承

回顾 访问一个不存在的属性,编译报错 当使用一个null值调用成员属性的时候会出现空指针异常,并且在运行时报错 1.面向对象 THIS 是什么 this:是每个对象中保存自身内存地址的一个引用变量,表示这个对象自己,相当于自己说"我" 做什么 1.用在成员方法/构造方法中,区分同名的局部变量和成员变量 语法:this.xxx = xxx; 2.在某个构造方法中,用于重载调用当前类中其他的构造方法,提高代码复用性 语法:this(参数);必须在构造方法...

fighting_cui的博客 110

【数学建模】编程手学习路线

在学习过程中,建议注重理论与实践相结合,多进行实例练习和项目实践,以巩固所学知识并提升实际应用能力。同时,保持对新技术和新方法的关注和学习,不断提升自己的专业素养和竞争力。NumPy、Pandas、Matplotlib和Seaborn等库是数据处理和可视化的重要工具。掌握常用机器学习算法的原理和应用,如决策树、支持向量机、神经网络等。学习内容包括微积分、线性方程组、矩阵运算、概率分布、统计推断等。学习内容包括基本语法、函数和模块、面向对象编程、文件操作等。深入了解优化理论和方法,如梯度下降法、牛顿法等。

2301_79586491的博客 2962

深入解析Gerber RS274X文件格式:从基础语法到实战应用

本文深入解析PCB制造的核心标准Gerber RS274X文件格式,详细介绍了其基础语法、坐标系统、功能码以及嵌入式光圈定义等关键特性。通过实战案例演示了如何解析和手写Gerber指令,并总结了常见错误与调试技巧,帮助PCB工程师掌握这一与制造工厂沟通的“通用语言”,确保设计准确无误地转化为实体电路板。

weixin_29252171的博客 94

刘意JavaSE 学习笔记 Day7-Day11——面向对象(封装、继承、多态、初始化、static、this、抽象类、接口)

3【重点难点】面向对象(封装、继承、多态、初始化、static、this、抽象类、接口) day07 匿名对象,封装,private,this,构造方法,static day08 继承,初始化 day09 多态,抽象类,接口(极其重要) day10 package 访问权限 内部类 day11 eclipse 以上花5天时间   第四天 成员变量和局部变量的区别(理解)     ...

desperatecat的博客 568

基于CANoe的车载以太网测试

以太网测试 CANoe

Yafet 4553

Test11封装、this、static、权限控制、继承

1.用在成员方法或构造方法中,使用this,区别同名的局部变量和成员变量this.xxx=xxx;static:是修饰符,用于区分成员和静态,当使用static的时候,表示静态属性。实例语句块:类似于静态语句块,但是没有static修饰,可以看作没有名字的成员方法。动态加载:运行的时候,只会加载核心类,当用到其他东西的时候,再去加载相关资源。继承:是在已有的类中,派生出新的类,此时新的类中会包含已有类的行为和特征。静态语句块,在类加载阶段执行,并且类生命周期中,静态语句块只执行一次。

gmsnb的博客 655

专项1.CCS代码补全与快捷键优化全攻略

本文全面解析CCS开发环境的代码补全功能与快捷键优化技巧,包括内容辅助触发机制、快捷键自定义配置、编码效率提升方法等实用内容。通过详细步骤指导开发者优化CCS配置,实现高效的代码自动补全和个性化快捷键设置,显著提升嵌入式开发效率。

kotlin6android的博客 223

SAP-ABAP:SAP数据库视图(Database View)详解-创建

数据库视图是SAP中实现多表关联查询的基础工具,适合简单的跨表查询和权限控制场景。但其功能有限,对于复杂逻辑或高性能需求,建议结合CDS视图或ABAP程序开发。通过合理设计,数据库视图可显著提升开发效率和系统可维护性。它存储在数据库中,但本身不存储数据,仅通过查询动态生成结果。是一种基于物理数据库表的虚拟表,通过关联多个表(使用。

baidu_35680696的博客 1370

day_11

在子类构造方法中,如果第一行没有写super() 或 this() 那么 默认有个super() 去调用父类无参构造。this只能出现在成员方法中,不能出现在静态方法中,在成员方法中,谁调用的这个成员方法,this就代表谁。继承: 是从一个已有的类中,衍生出一个新的类,该类往往包含着父类的特征,还可以新增特有的属性。静态语句块,不能调用,在程序加载的时候自动调用执行,并且只执行一次(main方法之前执行)实例语句块在创建对象时,立刻执行,并且是在构造方法之前执行,并且每创建一个对象,就会执行一次。

weixin_71269850的博客 130

出现Command ‘vim‘ is available in the following places,vim: command not found等解决方法

内置命令无法识别,说明系统变量有误,导致无法识别,既然系统变量有误,将其注释或者更改为正确的即可,但是现在打不开,又怎么注释掉。替换vim来打开编辑,打开之前错误的全局变量文件,发现变量有误,要么注释要么改为。系统变量有全局变量(通过命令行printenv或者echo)和局部变量。对应通过vim修改错误的变量文件,不然source也无法让配置文件生效。本身vim是系统内置的命令,连vim都出现问题。修改为正确的即可,之后还需要重启服务器,使用。之后即可成功,通过即可查看命令是否有写入。...

码农研究僧的博客 5883

JAVA学习 DAY11 类和对象_续1(封装和静态)【万字长文!一篇搞定!】

本文重点讲解类和对象的核心概念。主要内容包括:1. this引用的作用与使用场景,解决对象方法调用时的命名冲突和对象识别问题;2. 对象构造与初始化的完整过程,包括默认初始化、就地初始化和构造方法初始化三种方式;3. 封装特性及其实现方式,详细介绍四种访问限定符(private/default/protected/public)的作用范围;4. static成员(变量和方法)的特性与使用场景,包括工具类、工厂方法和单例模式等实践。文章通过大量代码示例,系统性地讲解了Java面向对象编程的基础知识。

HRDMN的博客 801

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

JAVA基础学习——Day11(封装)

JAVA基础学习——Day11(封装)

LengchenAl的博客 895

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

封装与继承

封装与继承练习到手抽筋

@南初的博客 1391

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

day11 封装和继承(一)

从昨天开始,学习进行到了JAVA基础的核心部分“面向对象”,这也是java与c语言的其他面向过程语言的本质区别,这一部分务必掌握,后面的学习才会轻松 1. this关键字 this关键字:表示当前对象 适用场景: 1.可以访问属性 2.可以访问方法 3.可以访问构造方法,必须在构造方法的第一句 package com.qfedu.test1; /** * 名字 * 年龄 * 性别 * * this关键字:表示当前对象 * 适用场景:

weixin_44982904的博客 313

Java_day_10_封装、this、static、权限控制

package day_02._01_This; /** * this 是什么 : 是每个对象中,保存自身内存地址的一个引用类型变量 * this就表示当前对象 * * 能做什么 * 1 在成员方法或者构造方法中,区分同名的成员变量和局部变量 * this.xxx * 2 用在构造方法中,重载调用当前类中其他构造方法,但是必须写在构造方法第一行 * this(xxx) * 3 return this 返回当前对象的内存地址,可以链式调用 * .

sec_90的博客 130

C++:初始化列表、友元、static

本篇内容就到这里了,希望对各位有帮助,如果有错误欢迎指出。

2401_86551514的博客 1587

java基础-11 this和static

java基础this和staticthisthis在构造方法中static静态变量,方法静态代码块 this 实例对象方面 this保存在堆中,this保存了这个对象的内存地址,this代表了该对象 this不能出现在静态方法(static)中 this在构造方法中 this()指 调用其他构造方法,调用哪个构造方法,根据参数而定,只能在第一行,目的是代码复用。 static 类方面 用static修饰的变量,方法,用 类名+变量 或 **类名+方法名()**访问 在类体中声明的变量分为实例变量和静态变量,

godfather_001的博客 264

java-day10

1. 面向对象 1.1 传值和传引用 基本数据类型保存值的大小,而数据类型保存内存地址 传值是基本数据类型 传引用是引用类型 局部变量 属于栈帧私有化,栈帧独享 package com.demos; public class Test02 { public static void main(String[] args) { int i = 10; //m1---->11 //10 //首先执行m1方法 此时输出11,由于是基本数据类型,m1方法执行后i的值不会改变,main输出的

weixin_43369815的博客 243

嵌入式学习-C嘎嘎-Day02

上面代码中,非静态的变量abc要跟对象绑定,对象的创建严格的讲是在运行时发生的,因此上面的变量c在编译时无法确定,这与constexpr的含义冲突,编译出错。拷贝构造函数实现的功能是,以一个已经存在的对象为基础,新创建的对象与已经存在的对象数据相同,由于封装特性,这两个对象各自是一个整体,数据是两份的。const修饰对象,表示该对象为常量对象,这样的对象不能修改成员变量的数值,也不能调用非const的成员函数。,函数执行完成后,此变量不会被销毁,下次调用此函数时,继续使用已经创建的静态局部变量,直到。

Xiaomo1536的博客 1029

day11-面向对象进阶

本文摘要主要介绍了Java面向对象编程中的几个核心概念,包括static关键字、继承、多态、包、final关键字、权限修饰符、代码块、抽象类、接口和内部类。其中重点讲解了static修饰符的使用场景和特点、继承的语法规则和内存原理、多态的实现方式和调用特点、抽象类和接口的定义与区别,以及内部类的分类和使用场景。文章通过大量代码示例详细说明了这些概念的实际应用,并分析了它们在内存中的运行机制。最后还介绍了适配器设计模式等高级用法,为Java面向对象编程提供了全面的知识体系。

2301_77516882的博客 219

JAVA 面向对象基础(day 11)

同时,通过访问修饰符来控制对类中属性和方法的访问权限,从而实现信息隐藏。推荐的使用方式 无参数构造方法,和带参数构造方法,都自己手动给出。: 初始化一个新建的对象 构建、创造对象的时候,所调用的方法。: 创建对象的时候调用,每创建一次对象,就会执行一次构造方法。:如果没有定义构造方法,系统将给出一个默认的无参数构造方法。修饰成员的特点: 被其修饰的成员, 被该类的所有对象所共享。构造方法的重载 构造方法也是方法,允许重载关系出现。成员方法:工具类的方法大多数是 static 的。不能手动调用构造方法。

lly_b的博客 257

【C++初阶】类和对象(三):初始化列表、友元与static成员详解

本文摘要主要介绍了C++中构造函数初始化列表、类型转换、static成员、友元和内部类五个关键知识点: 构造函数初始化列表:通过冒号语法初始化成员变量,对引用、const成员等必须使用初始化列表。初始化顺序按声明顺序而非列表顺序。 类型转换:支持内置类型隐式转换为类类型对象,通过explicit禁止隐式转换,类类型对象间也可转换。 static成员:静态成员变量需类外初始化,被所有对象共享;静态成员函数无this指针,只能访问静态成员。 友元:通过friend声明突破封装限制,使外部函数/类能访问私有成员,

Z2382430464的博客 2049

【C++】类和对象

本文系统介绍了C++中类与对象的核心概念,涵盖类的定义、访问限定符、实例化、存储方式等基础内容。重点讲解了this指针原理、六大默认成员函数(构造/析构/拷贝构造等)的实现细节,以及运算符重载、const成员函数等进阶特性。文章对比了struct与class的区别,深入探讨了初始化列表、静态成员、友元等关键概念,并通过栈类等实例说明封装思想。最后介绍了内部类和匿名类的特殊用法,帮助读者全面掌握面向对象编程中的类设计技巧。

wefg1的博客 1127
上一篇: Day10 领扣题、面向对象概述、类与对象
下一篇: Day12 继承、final、super、覆写、多态
java_yangXL
博客等级 码龄5年 1粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值