java程序规范中会建议大家尽量将类中的属性私有化,即定义为private变量,通过设置set和get函数来对属性进行操作。一些人存在这样的疑问,为什么不直接将属性设置为public,以后调用属性时直接通过对象进行访问不是更方便?当然java中这样做有它的原因:1  将数据与行为分离,也就是java的面向对象的概念。   对象就是属性+行为,封装就
Go 语言中有一个非常有特色的东西,那就是 iota 常量。经过某鱼的不完全统计,许多 Go 开发者都是由 PHP、Java、C++、Python 等转型过来,对此还是挺好奇的。今天就由煎
转载 2022-11-10 12:44:55
216阅读
# Java 字符串为什么放在常量池 ## 引言 在Java中,字符串是一个非常常用的数据类型。在日常开发中,我们经常需要对字符串进行操作、拼接和比较。为了提高性能和节省内存,Java将字符串放在了常量池中。本文将详细介绍为什么要将字符串放在常量池中,并通过代码示例、状态图和序列图来讲解相关概念。 ## 什么常量池 在Java中,常量池是一种特殊的内存区域,它用于存放字符串常量常量
原创 2023-10-27 08:07:00
94阅读
主角是一个单独的类,这里我们主要用怪物说明接口的用法:怪物有很多种, 按地域分:有的在天上飞,有的在地上跑,有的在水里游按攻击方式分:有的能近距离物理攻击,有的能远距离射击假设游戏里需要这样的几种怪—— 野狗:地上移动,近距离攻击 黑熊:地上移动,近/远距离攻击秃鹫:地上/天上移动,远距离攻击 食人鱼:水中移动,近距离攻击 鳄鱼:地上/水中移动,近距离攻击 显然,如果
一、Spring1.为什么要使用Spring (1)spring 提供 ioc 技术,容器会帮你管理依赖的对象,从而不需要自己创建和管理依赖对象了,更轻松的实现了程序的解耦。 (2)spring 提供了事务支持,使得事务操作变的更加方便。 (3)spring 提供了面向切片编程,这样可以更方便的处理某一类的问题。 (4)更方便的框架集成,spring 可以很方便的集成其他框架,比如 MyBatis
首先来看一下【封装】在java中的经典体现: 不允许对象使用【圆点运算符】直接【存取】实例变量的值; eg: 像上面这样可以直接使用【圆点运算符】改变dog1实例的age变量的值,这在java的世界里是及其不可被接受的,因为他违背了封装的铁律!!! 从而对数据进行了不合理的暴露,【这里的暴露指的是——可以使用【圆点运算符】直接【存取】实例变量的值】所以,正确的写法是: 所以,可以总结出java封装
转载 2023-06-19 23:15:39
140阅读
# Java抽取常量定义:提高代码可维护性和可读性 在软件开发过程中,良好的代码质量是确保项目可维护性和可扩展性的基础。Java作为一种广泛使用的编程语言,提供了多种手段来提高代码的可读性与可维护性。其中,抽取常量定义是一个重要的实践。本文将介绍Java常量的定义、使用及其重要性,并提供相应的代码示例。 ## 常量的定义 在Java中,常量是指那些在程序运行过程中不能改变的变量。常量通常用
原创 11月前
8阅读
设置环境变量 path、classpath、JAVA_HOME在java 中需要设置三个环境变量(1.5之后不用再设置classpath了,但个人强烈建议继续设置以保证向下兼用问题)。 JDK安装完成之后我们来设置环境变量:右击“我的电脑”,选择“属性”,选择“高级”标签,进入环境变量设置,分别设置如下三个环境变量:(1)配置path变量:●为什么配置path变量? 因为电脑系统将根据
转载 2024-04-24 15:16:39
20阅读
new机制理解:new常见的说法:声明一个对象并实例化; 在JAVA里就是创建一个新的实例,或者说一个新的对象,一个普通类在没有实例化之前,就是new之前,它的属性,方法等等在内存中都是不存在的。只有使用new了以后,这个类的一些东西在内存中才会真的存在,也就是说只有new了之后,这个类才能用。 参考B站教程后的原理图进一步理解:反射机制理解反射的概念:将类的各个组成部分封装为其他对象,这就是反射
转载 2023-06-15 14:37:34
232阅读
重载定义:同一类中,方法名相同,参数列表不同的一组方法的定义,与返回值无关为什么需要重载? 在我们用编程时,我们可能定义一些操作内容相似但是参数列表不同的方法,比如构造方法的重载,减少了我们针对不同的参数列表重新想方法名,节约了方法名,也使我们在阅读代码的时候更简单明了对于继承父类的子类能否重载父类的方法这个问题:肯定是不能的,因为在不同类中不存在重载的说法。但是子类继承了父类后,自然也就继承了
在研究String直接赋值与new String的区别之前我们需要先了解java中的字符串常量池的概念字符串常量池String类是我们平常项目中使用频率非常高的一种对象类型,jvm为了提升性能和减少内存开销,避免字符的重复创建,其维护了一块特殊的内存空间,即字符串池,当需要使用字符串时,先去字符串池中查看该字符串是否已经存在,如果存在,则可以直接使用,如果不存在,初始化,并将该字符串放入字符创常量
new的作用 在java中,new操作往往意味着内存中的开辟新的内存空间,这个内存空间分配在内存中的堆区,受到jvm控制,自动进行内存管理。这里我们就是用String这个类来举例说明。public class Test { public static void main(String[] args) { String aString = "hello"; String bStri
转载 2023-05-25 15:01:31
109阅读
一、为什么要使用Atomic类?看一下下面这个小程序,模拟计数,创建10个线程,共同访问这个int count = 0 ;每个线程给count往上加10000,这个时候你需要加锁,如果不加锁会出现线程安全问题,但是使用AtomicInteger之后就不用再做加锁的操作了,因为AtomicInteger内部使用了CAS操作,直接无锁往上递增,有人会问问什么会出现无锁操作,答案只有一个:那就是快呗;下
我总是要把构造器和方法混淆,后来发现,方法,实际上,是需要用于执行java代码的,而构造器,构造器,,,是一个类的实例!!(我的理解,构造器是一个对象)为什么呢?类的实例,我们需要用类来创建对象,进而访问其属性,因为实例是需要被用来调用的,但是调用的话,我们不得不去考虑一个问题,就是对象,最终是被存储在内存里面的,而存储的时候,我们的内存不得不需要给他再另外开辟新的内存空间,那么,java是如何给
就如同,如果我们想要游泳,前提是需要一个泳池;如果我们想要打篮球,前提是需要一个篮筐一样。如果我们想要使用Java语言进行开发工作或者想要运行由Java语言编写的程序,那么第一步工作就是搭建一个支持Java语言的环境。首先我们需要认识Java为我们提供的这两样东西:JRE - Java Runtime Environment (Java运行环境)JDK - Java Development
Java方法:方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集 。方法必须先创建才可以使用,该过程成为方法定义方法创建后并不是直接可以运行的,需要手动使用后,才执行,该过程成为方法调用方法的定义:1.无参数的方法定义权限修饰符 返回值类型 方法名(){ 方法体; return 返回值; }例如:public static int getComGuessNum(
引言任何一个Java程序员学习Java语言的第一步就是环境搭建,环境搭建是Java程序员的必修课,不仅熟练掌握环境搭建的步骤,还需要深刻理解环境搭建的意义。一、为什么搭建环境java 是一门跨平台语言,编写的java程序需要考虑两个问题,第一个是编译,第二个是运行。 所以,我们需要一种工具可以把 源代码编译成字节码,同时还需要一个工具去解释执行这个字节码。为此SUN 为Java开发者提供了一套
转载 2023-07-15 17:18:27
110阅读
异常处理为什么需要异常处理呢? 没有异常处理就会用很多条件语句判断,大量的判断语句会很影响程序的性能。java的异常机制恰好改进了这一点,它具有易于使用、可自行定义异常类,处理抛出的异常的同时,又不会降低程序运行的速度和优点。在计算机发展中,有两大计算机杀手,一个是断电,另一个是被除数为0,因为被除数为0在数学上解释无穷大,则意味着内存将全部被占满。throws这种抛出的异常,代表这个类有可能产生
转载 2024-01-20 13:58:42
44阅读
  软件开发涉及到各方面人员的交互、协作,为了有效地进行项目开发的沟通,完善代码的维护和交付,有必要在一个小组中采用统一的软件开发标准。  一般来说,制定这样的标准有下列好处,方便软件维护。据统计,80%的软件开发费用在维护,规范化的代码才方便维护,降低维护成本。在软件的整个生命期内,期望一个编码人员从开始到该软件报废一致维护其代码是不现实的,必然需要不断地交付、协同。好的编码规范能够大大增强代码
Java方法方法定义Java方法是语句的集合,它们在一起执行一个功能方法是解决一类问题的步骤的有序组合方法包含于类或对象中方法在程序中被创建,在其他地方被引用设计方法原则:方法的本意是功能块,就是实现某个功能的语句块的集合。我们设计方法的时候,最好保持方法的原子性,就是一个方法只能完成一个功能,这样利于我们后期的扩展方法的命名规则:修饰符 返回值类型 方法名(参数类型 参数名){ …… 方法体 …
  • 1
  • 2
  • 3
  • 4
  • 5